Microsoft Excel

Herbers Excel/VBA-Archiv

Daten löschen per VBA


Betrifft: Daten löschen per VBA von: Simone
Geschrieben am: 11.04.2017 14:05:23

Hallo,

ich habe diesen Code mit der wird die 1999999 alle Zeilen gelöscht.

Sub löschen2()


Dim letztezeile As Long
Dim i As Long
letztezeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For i = letztezeile To 1 Step -1
If ActiveSheet.Cells(i, 4).Value = 1999999 Then
ActiveSheet.Rows(i).Delete
End If
Next i
End Sub

Jetzt möchte ich 5 weitere Nummer eingeben, die gelöscht werden müssen.

23232323
87878787
15987829
45698723
32698401

Wie mach ich das am besten ?

Danke an alle :-)

  

Betrifft: AW: Daten löschen per VBA von: UweD
Geschrieben am: 11.04.2017 14:21:27

Hallo


Sub löschen2()


    Dim letztezeile As Long
    Dim i As Long
    letztezeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    For i = letztezeile To 1 Step -1
        Select Case ActiveSheet.Cells(i, 4).Value
            Case 1999999, 23232323, 87878787, 15987829, 45698723, 32698401
                ActiveSheet.Rows(i).Delete
        End Select
    Next i
End Sub
LG UweD


  

Betrifft: AW: Daten löschen per VBA von: ChrisL
Geschrieben am: 11.04.2017 14:23:58

Hi

Z.B. so...

Sub löschen2()
Dim letztezeile As Long
Dim i As Long, j As Long, ar As Variant

ar = Array(1999999, 23232323, 87878787, 15987829, 45698723, 32698401)

With ActiveSheet
    letztezeile = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
    For i = letztezeile To 1 Step -1
        For j = 0 To UBound(ar)
            If .Cells(i, 4).Value = ar(j) Then
                .Rows(i).Delete
                Exit For
            End If
        Next j
    Next i
End With
End Sub

cu
Chris


  

Betrifft: AW: Daten löschen per VBA von: Daniel
Geschrieben am: 11.04.2017 15:23:46

Hi
hier bietet sich der Autofilter an:

Sub test()
With ActiveSheet.UsedRange
  .AutoFilter Field:=4, _
    Criteria1:=Array("15987829", "19999999", "23232323", "32698401", "45698723", "87878787"), _
    Operator:=xlFilterValues
  If .Columns(1).SpecialCells(xlCellTypeVisible).Count > 1 Then
    .Offset(1, 0).Resize(.Rows.Count - 1).EntireRow.Delete
  End If
  .AutoFilter
End With
        
End Sub
Gruß Daniel


Beiträge aus den Excel-Beispielen zum Thema "Daten löschen per VBA"