Flyt rækker til kolonner

I et regneark er data anført som

Navn
Adresse
Navn2
Adresse2
osv.

Det ønskes ændret til

Navn    Adresse
Navn2    Adresse2
osv.

Dette kan gøres med

Sub FlytogSlet()
    For Each c In Range("a1:a20").Cells
        If c.Row Mod 2 = 1 Then
            c.Offset(0, 1) = c.Offset(1, 0)
        End If
    Next c
   
    With ThisWorkbook.ActiveSheet
        For i = Range("a65536").End(xlUp).Row + 2 To 2 Step -2
            .Rows(i).Delete
        Next i
    End With
End Sub

Med 3 rækker pr. post: (Nyt 27-9-09)
Ovenstående virker, såfremt der er to rækker pr. post. Er der i stedet 3, fx

Navn
Adresse
Land
Navn2
Adresse2
Land2
osv.

må makroen ændres en smule, fx til:

Sub FlytogSlet2()
    For Each c In Range("a1:a20").Cells
        If c.Row Mod 3 = 1 Then
            c.Offset(0, 1) = c.Offset(1, 0)
            c.Offset(0, 2) = c.Offset(2, 0)
        End If
    Next c   

    With ThisWorkbook.ActiveSheet
        For i = Range("a65536").End(xlUp).Row + 3 To 2 Step -3
            .Rows(i).Delete
        Next i
        For h = Range("a65536").End(xlUp).Row + 2 To 2 Step -2
            .Rows(h).Delete
        Next h
   End With

End Sub

Artiklen Ikke så simpel kopiering af simpel formel viser noget, der ligner ovenstående, men i en almindelig formelløsning.

- Retur til makroer -
- Retur til Excel -