AW: Z verschieben
18.08.2009 20:36:05
Peter
Hey hary
klasse ! funktioniert perfekt
da die erste spalte A leer ist (da die zelle a1 im ursprung auch leer ist)
musste ich noch den code erweitern um "leere spalten löschen"
bin mal gespannt, wie lange die laufzeit ist für das löschen von 50.000 zeilen -jede 2. ist ja leer- bei
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'leere zeilen löschen
kann ich morgen mal "nachmelden"
somit sieht mein code wie folgt aus:
Sub Zeile2_in_Zeile1()
Dim i As Long
Dim Spalte
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 2 'jede gerade Zeile
Spalte = Cells(i - 1, Columns.Count).End(xlToLeft).Column 'letze Spalte in jeder _
ungeraden Zeile
Range(Cells(i, 1), Cells(i, Cells(i, Columns.Count).End(xlToLeft).Column)).Cut Cells(i - 1, _
Spalte + 1) 'Bereich ausschneiden
Next
Leere_Spalten_loeschen
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'leere zeilen löschen
Application.ScreenUpdating = True
End Sub
Sub Leere_Spalten_loeschen()
Dim Spalte As Integer
Application.ScreenUpdating = False
For Spalte = 256 To 1 Step -1
If Application.CountA(Columns(Spalte)) = 0 Then
Columns(Spalte).Delete
End If
Next
Application.ScreenUpdating = True
End Sub
besten dank
peter