BillyJoe Skrevet 21. august 2006 Del Skrevet 21. august 2006 Hei, Hvordan kan jeg bruke variable i definisjonen av en Range? Vanligvis defineres en range f.eks slik: Dim R1 as Range Set R1 = Range("A1:B4") Ofte vet jeg ikke utstrekningen av en range. Jeg vet kanskje at rangen starter i A1, men ikke hvor langt ned i kolonne B den skal gå. Men, jeg har en variabel som holder verdien. F.eks kan jeg bestemme utstrekningen av kolonne B slik nrrows = Range("B65536").End(xlUp).Row Spørsmålet er mao hvordan bruke variablen nrrows for å definere range R1? [R1 = Range("A1:B[nrrows]")] Cells property tar variable, og jeg har funnet en workaround der jeg kan definere en range vha to "hjelpe"-ranger: Dim Ra as range, Rb as range nrrows = Range("B65536").End(xlUp).Row Set Ra = Cells(1,1) 'A1 øvre venstre celle Set Rb = Cells(nrrows, 2) 'nedre høyre celle Set R1 = Range(Ra, Rb) R1.select Eksemplet over virker, men er tungvint i forhold til å definere range direkte. Noen som vet hvordan? Takker for svar Lenke til kommentar
Harald Staff Skrevet 21. august 2006 Del Skrevet 21. august 2006 Dette spørs jo litt hva du skal. Du kan forkorte til Set R1 = Range(Cells(1, 1), Cells(Cells(65535, 2).End(xlUp).Row, 2)) Metoden din finner nederste celle i B, men den henger ikke nødvendigvis sammen med A1. Skal du finne "selve lista" (det som påvirkes av sortering, data, filtrering, ..) er den beste måten Set R1 = Range("A1").CurrentRegion Og oftest bør du spesifisere hvor: Set R1 = ThisWorkbook.Sheets(1).Range("A1").CurrentRegion HTH. Beste hilsen Harald Lenke til kommentar
BillyJoe Skrevet 23. august 2006 Forfatter Del Skrevet 23. august 2006 Hei, Takk for hjelpen:-) T Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå