Gå til innhold

VBA og looping


Anbefalte innlegg

Har løst det opprinnelige spørsmålet:

 

Hei der. Jeg har en funksjon i VBA som henter data inn i excel via en link som nedenfor

 

Denne skal hente data fra en rekke rader (ca 80 stykk) og jeg lurer på hvordan jeg skal loope denne. Noen som kan gi meg et tips eller to?

Poenger her er at Range("E16") og Range("V16") skal endres med +1 for hver gang slik at det blir E17, V17 og E18, V18 etc..

 

 

 

ActiveWorkbook.XmlImport URL:= _

"http://www.link.com/" & Range("E16") & Range("G10") _

, ImportMap:=Nothing, Overwrite:=True, Destination:=Range("V16")

 

 

Det jeg trenger hjelp til nå er å finne ut hvordan jeg skal få fart på en loop rutine som tar lenger tid en jeg liker.

Alt som skal gjøres er å gå gjennom en rekke med tall og kopiere dem til en annen lokasjon dersom dem er ulik 0

 

rutinen ser ut som følger:

Dim counter As Integer

counter = 0

Do Until counter = 113

If Range("I5").Offset(counter, 0) = 0 Then GoTo Lastline2

Range("I5:J5").Offset(counter, 0).Select

Selection.Copy

Range("E5").Offset(counter, 0).Select

Selection.PasteSpecial Paste:=xlPasteValues

Lastline2:

counter = counter + 1

Loop

 

All hjelp mottas med takk :)

Endret av MrVilla
Lenke til kommentar
Videoannonse
Annonse

Hvis du ikke har noe mulighet til å indeksere med tall er som oftest et array med referanser greit å bruke.

 

Nå er det en stund siden jeg har sliti med VBA Excel scripting, men mener at du kan bruke Cells(x,y) istedenfor Range.

 

Hvis ikke kan du bruke Range(Cells(x,y), Cells(x,y)) for den ene cella. Dvs x = 1 og y = 1 er A1, x = 2, y = 1 er B1 osv osv...

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...