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?
VBA koodi ymmärtämään rivien lisäys?
3
1080
Vastaukset
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
Suomalainen tutkimus paljasti oudon asian vasemmistolaisista - he häpeävät itseään
Kyllä, asia on faktaa. Suomalainen tutkimus osoittaa, että vasemmistolaisina itseään pitävät kansalaiset häpeävät itseää1383839Sosialismia Tampereella: Virallinen ilmiantolinja avautuu kaupungissa
Nyt siis mennään mansessa ihan justiinsa samaan malliin kuin entisessä Neuvostoliitossa, jossa saattoi ilmiantaa naapuri3362974Tätä et nähnyt tv:ssä: Frederik paljastaa - Totuus "haisevasta jäynästä" pehtoorille Farmilla
Frederik veti ns. herneen nenään ja päätti kostaa pehtoorille. Mitäs mieltä olet Frederikin "aamutoimista"? Lue jutt91872Ellen Jokikunnas paljastaa kyynelehtien Ralph-pojasta: "Apua..."
Ellen Jokikunnaksen ja hänen puolisonsa Jari Raskin perheestä ja taloprojektista Italiassa kertova Unelmia Italiassa -sa51608Oho! Vappu Pimiä teki "röyhkeän" teon - Onko sopivaa paljastaa tämä MasterChef-sarjasta?
Vappu Pimiä on astunut MasterChef Suomi -keittiöön ja liittynyt ohjelman legendaariseen tuomaristoon Helena Puolakan ja41089- 71934
Kaste tulisi tehdä apostolisella tavalla Ap. t. 2:38 mukaan
Apostolit eivät kastaneet kolminaisuuden nimellä vaan Jeesuksen alkuperäisen käskyn mukaisesti: Ap. t. 2:38 Niin Pietar38864- 44774
- 65741
Kuhmossa rallit alkoi ennen aikojaan
Paettiin polliisia törkeästi? Se tuo rallikiima on näemmä saavuttanu paikalliset tommi mäkiset kiljupäissään auton rat22728