ich habe ein tabellenblatt mit dem namen ORGINAL in dem die spalten A bis C vorhanden sind.
ich möchte, das alle zeilen in denn die spalte A leer ist ( C kann gefüllt sein ) gelöscht werden.
danke im vorraus
rolf
'Für Zellen die richtig leer sind
'Ohne Formel usw...
Sub Lösche_Leere_In_ORGINAL()
Dim Zellen As String
Dim Sp As Variant
Dim a As Long, AnZ As Long
With Sheets("ORGINAL")
Zellen = .Columns("A:A").SpecialCells(xlCellTypeBlanks).Address
AnZ = .Columns("A:A").SpecialCells(xlCellTypeBlanks).Count
Sp = Split(Zellen, ",")
For a = AnZ - 1 To 0 Step -1
.Rows(.Range(Sp(a)).Row).Delete Shift:=xlUp
Next a
End With
End Sub
Makro2
'sind die Zellen nicht leer sondern mit Formel
Sub Lösche_Leere_In_ORGINAL_2()
Dim a As Long
With Sheets("ORGINAL")
For a = .Columns("A:A").SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If .Cells(a, 1) = "" Then .Rows(Cells(a, 1).Row).Delete Shift:=xlUp
Next a
End With
End Sub
Gruß
Tino
Sub löschen()
Columns(1).Insert
With Range("A1:A" & ActiveSheet.UsedRange.Rows.Count)
.FormulaR1C1 = "=if(RC[1]="""",true,row())"
.Formula = .Value
.CurrentRegion.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
End Sub
Gruß, Daniel