Avatar billede K6950 Juniormester
17. oktober 2021 - 13:19 Der er 5 kommentarer

Loop-funktion i VBA Excel

Jeg er ved at lave en macro.
Hoved-makroen er ved at være i hus.

En afsluttende udfordringer er følgende:

Den samme macro skal køres igennem for f.eks. 100 medlemsnr.
Medlemsnr. står i felt B4 i mit hovedark, hvorfra makroen skal køre.

I mit inddata ark "Ark1" har jeg samlet medlemsnr i kolonne A.

Jeg vil gerne have tilføjet til min makro, at den efter hver kørsel, køre samme kørsel for det næste medlemsnr i "Ark1" indtil det første celle i kolonne A er tom. (Altså at den køre en Loop, ved at tage næste medlemsnr (Række) i kolonne A, indtil der kommer et tomt felt. )
Avatar billede igoogle Forsker
18. oktober 2021 - 10:32 #1
Først skal du have en slutrække

Dim lastrow As Long
Dim i as Long
    lastrow = Cells(Rows.Count, 2).End(xlUp).Row

Så kan du lave et loop

For i = 1 To lastrow

[din macro]

next i
Avatar billede igoogle Forsker
18. oktober 2021 - 10:33 #2
Det skulle selfølgelig have været lastrow = Cells(Rows.Count, 1).End(xlUp).Row da den giver A i stedet for B
Avatar billede K6950 Juniormester
18. oktober 2021 - 13:27 #3
Tak for forslag:

Hvordan får jeg forslaget til at:

Indsætte celler værdien i Ark1  (Kolonne A)

I celle B4 i mit hovedark, så makroen automatisk køre kørslen for den aktuelle værdi i Ark1, som bliver ny for hver "loop" ?
Avatar billede igoogle Forsker
18. oktober 2021 - 14:04 #4
I dit loop kan du opdatere medlemsnummer cellen

sheets(2).cells("B4") = sheets(1).Cells(i,1)

sheets(2).Activate
Avatar billede K6950 Juniormester
18. oktober 2021 - 20:27 #5
Loopet fungere fint, men funktionen med at

Celle B4, i ark 2, løbende ændre i overensstemmelse med værdien i celler i kollonne A, i Ark 1, får macroen til at Crashe

"Invalid procedure call or argument"
Argument "sheets(2).cells("B4") = sheets(1).Cells(i,1)" er markeret gul
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester