VBA, Excel - Kopiere rækker - optimering af script
HejJeg skal have kopieret en masse række i et excelark, til et andet ark i samme excelfil.
Men rækkerne skal kopieres til andre rækker. Så f.eks. række 4 i Ark1 skal kopieres til række 8 i Ark2, og række 5 i Ark1 skal kopieres til række 13 i Ark2.
Der er en del rækker der skal kopieres, så jeg har lavet følgende 2 scripts, som begge fungerer:
FraListe = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
TilListe = "1,4,7,9,10,11,12,13,14,15,20,21,22,23,30"
ArrFraListe = Split(FraListe, ",")
ArrTilListe = Split(TilListe, ",")
For raekke = LBound(ArrFraListe) To UBound(ArrFraListe)
kolonne = 1
For kolonne = 1 To 20
Sheets("Ark2").Cells(ArrTilListe(raekke), kolonne) = Sheets("Ark1").Cells(ArrFraListe(raekke), kolonne)
Next
Next
ELLER
FraListe = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
TilListe = "1,4,7,9,10,11,12,13,14,15,20,21,22,23,30"
ArrFraListe = Split(FraListe, ",")
ArrTilListe = Split(TilListe, ",")
For raekke = LBound(ArrFraListe) To UBound(ArrFraListe)
Sheets("Ark1").Select
Range("B" & ArrFraListe(raekke) & ":K" & ArrFraListe(raekke)).Copy
Sheets("Ark2").Select
Range("B" & ArrTilListe(raekke) & ":K" & ArrTilListe(raekke)).Select
ActiveSheet.Paste
Men hvilken af disse metoder er den bedste?
I den første metode hvor jeg looper både rækker ned, og samtidig har et loop som skrive kolonnerne henad, kunne jeg forestille mig at det med mange rækker og kolonner bliver en stor proces.
I nummer to løsning har jeg kun ét loop, som skriver rækkerne. Men tilgengæld skiftes der hele tiden mellem arkene for at kopiere rækkerne, hvilket heller ikke virker optimalt.
Eller er der en bedre måde dette kan gøres på?