05. februar 2003 - 11:05Der er
12 kommentarer og 1 løsning
Makro til at kopiere linier i Excel
Jag har data liggende rækkevis med et beløb pr. måned kolonnevis som i stedet skal være rækkevis...
F.eks. har jeg en række, hvor beløbet for jan03 er i kolonne G, feb03 er i kolonne H osv. I stedet skal beløbet for jan03 være i række 1, beløbet for feb03 være i række 2 osv.
Jeg forestiller mig noget med at indskyde 11 nye rækker under nuværende 338 rækker, og kopiere hver række til efterfølgende 11 rækker, så der er tolv ens rækker pr. nuværende række. Herefter forestiller jeg mig at man kopierer første række fra kolonne G til R (med værdierne) og paster (transpose) dem i række 1-12.
Kan du ikke bare markere det hele, kopiere og indsætte speciel med transpose, fx under de eksisterende linier og så slette det oprindelige? Så slipper du for makroer og meget andet godtt.
Jeg har 338 rækker hvor jeg skal indsætte 11 rækker (insert copied cells) under hver række. Det kan gøres med en makro. Hvis jeg skulle gøre det manuelt vil det tage 2-3 timer. Når dette er gjort skal jeg kopiere hver tolvte række og lave paste transpose - hvilket jeg også mener er hurtigere med en makro selv om det bare er en gang dette skal gøres.
Det er bare at udskifte tallene med variabler (fx. Cells(i, j).Select, og så lave et loop så i og j får passende værdier. Integ mystisk i det - men det tager lidt tid lige at lure, hvordan man skal varierer på i og j...
Prøv med denne makro, men gør det i en kopi først ;-) Jeg tror at den gør det du ønsker - hvis jeg altså har forstået dig rigtigt.
Sub CopyTranspose() ' ' Jan Kronsell Feb-03 Dim a As Byte Dim b As Byte
a = 2 b = 13
For i = 1 To 338 Rows(a & ":" & b).Select Selection.Insert Shift:=xlDown Range("G" & a - 1 & ":" & "R" & a - 1).Select Selection.Copy Range("G" & a & ":" & "G" & b).Select Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ , Transpose:=True ActiveCell.Offset(-1, 0).Activate ActiveCell.EntireRow.Select Selection.Delete Shift:=xlUp a = a + 12 b = b + 12 Next i End Sub
Jeg har modtaget arket, men jeg kan se at det er mere komplekst end det du skitserede i første omgang fordi, du har andre ting i regnearket, som der også skal tages højde for, fx navnene, som skal gentages i de nye rækker, og der er også flere rækker, der skal transposes, men den ene kun en gang osv. Jeg ser på det i løbet dagen.
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.