Tervehdys! Seuraavanlainen ongelma. Olen rakentanut loop rakenteen, joka pyörii niin kauan kuin A solu on tyhjä. Käytössäni on Dim i as integer ja i=1. Nyt kun looppi pyörii niin olen tehnyt koodin, että aina kun solussa A lukee tietty nimi niin koko rivi kopioidaan Range ("A" & i).Entirerow.copy. Nyt haluaisin, että kopioitava alue olisi A:N ja riippuen i:n arvosta missä rivissä kulloinkin liikutaan. Olen yrittänyt koodia Range("A:N" & i).select -> Selection.copy jne. mutta ei onnistu. Mikä koodi tuollaisen alueen kopio ja kuitenkin niin, että loopin edetessä i:n muuttaessa arvoa kopioitava rivi siirtyy aina yhden rivin alemmas? Entä jos haluan valita eri soluja samalta riviltä esim. a6, c6 ja d6? kuitenkin i:n arvon mukaan mennään millä rivillä ollaan
Mod. poisti täydellisen väärin käytetyt kooditagit. Kirjaudu sisään ja lue palaute!
Ilmeisesti Excel VBA:sta kyse.
Tuo range-syntaksi on väärin, tarkoitat varmaan: esim A1:N1 eikä A:N1 jonka tuo koodi tuottaa.
Muuta siis:
Range("A:N" & i) -> Range("A" & i & ":N" & i)
Itse tykkään näissä tosin käyttää Cells(x,y) funktiota joka palauttaa yhden solun sisältävä Range-objektin riviltä x ja sarakkeesta y. Suorakulmaisen rangen saa sitten esim: Range(Cells(1,2), Cells(3,4)).
Btw. Googlella löytyy todella paljon Excel VBA materiaalia, kuten esimerkkejä, ainakin jos osaa englantia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.