VBA koodi ymmärtämään rivien lisäys?

bitteihinkadonnut

Minulla on comboboxin koodissa rivi

Sheets("data").Range("J105") = ComboBoxVaruste1.Column(2)

Kaikki toimii hyvin siihen asti kunnes itse data taulukkoon joutuu lisäämään rivin. Sen jälkeen tulee tuo käydä käsin muuttamassa J106:ksi. Eihän tämä yksinään olisi ongelma mut näitä tulisi useita, ja täten hallittavuus kärsisi koska joskus on pakko lisätä rivi toisen yläpuolelle.

Tai onko tämänkaltaiseen ongelmaan jotain muuta keinoa hallita?

3

1050

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Sheets("data").Range("J105").End(xlDown).Offset(1, 0) = ComboBoxVaruste1.Column(2)

      • bitteihinkadonnut

        Sheets("data").Range("J105").End(xlDown).Offset(1, 0) = ComboBoxVaruste1.Column(2)

        Eli mikäli itse tajusin tuota niin xlDown tarkoittaa sitä kun excelin taulukkoon lisää rivin, ja tuo offset(1,0) sitä että se sitten muuttaa tuota J105:sta J106:een? Olenko oikeilla jäljillä.

        Eli mikäli ja kun tuleekin tarvetta poistaa rivejä tuleeko koodiin lisätä End(xlUp).Offset(-1,0) tai jotain tähän suuntaan? Että koodi pysyisi oikealla rivillä poistettaessa ja lisätessä rivejä?


      • bitteihinkadonnut kirjoitti:

        Sheets("data").Range("J105").End(xlDown).Offset(1, 0) = ComboBoxVaruste1.Column(2)

        Eli mikäli itse tajusin tuota niin xlDown tarkoittaa sitä kun excelin taulukkoon lisää rivin, ja tuo offset(1,0) sitä että se sitten muuttaa tuota J105:sta J106:een? Olenko oikeilla jäljillä.

        Eli mikäli ja kun tuleekin tarvetta poistaa rivejä tuleeko koodiin lisätä End(xlUp).Offset(-1,0) tai jotain tähän suuntaan? Että koodi pysyisi oikealla rivillä poistettaessa ja lisätessä rivejä?

        Sheets("data").Range("J105").End(xlDown)
        etsitään viimeinen tietoa sisältävä solu solusta J105 alaspäin
        .Offset(1, 0) taas valitsee yhden solun alaspäin aktiivisesta solusta
        eli

        Sheets("data").Range("J105").End(xlDown).Offset(1, 0)

        valitsee aina ensimmäisen tyhjän solun solusta J105 alaspäin

        voit poistaa ja lisätä rivejä ihan vapaasti ja tuo ylläoleva koodi pitää huolen oikeasta ekasta tyhjästä solusta...

        nyt mennään alaspäin ja jos välissä on tyhjä solu tyssää siihen eli pitää olla yhtenäinen alue tota käytettäessä.
        Jos välissä saa olla tyhjiä rivejä ja silti haluat aina viimeisen tyhjän solun sarakkeessa niin koodia pitää muuttaa
        Sheets("data").Range("J65536").End(xlUp).Offset(1, 0)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      272
      5089
    2. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      51
      4087
    3. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      93
      3599
    4. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      50
      2709
    5. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      46
      1863
    6. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      19
      1827
    7. Koska näit kaivattusi viimeksi

      Milloin tapasit rakkaasi? Ja etenikö suhde yhtään?
      Ikävä
      100
      1669
    8. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      98
      1481
    9. Tekiskö nainen mieli tavata...

      Viikonloppuna ja...?
      Ikävä
      71
      1085
    10. PS uusimman gallupin rakettimainen nousija

      https://yle.fi/a/74-20170641 Aivan ylivoimaisesti suurin kannatuksen nousu PS:lle. Nousu on alkanut ja jatkuu 2 vuoden
      Maailman menoa
      146
      1063
    Aihe