VBA Code - mehrere Zeilen löschen
Betrifft: VBA Code - mehrere Zeilen löschen
von: Michel
Geschrieben am: 28.10.2014 07:55:23
Hallo zusammen
Zurzeit verwende ich diesen code;
Sub zeilenloeschen()
Dim i As Long
Dim letzteZeile As Long
Dim suchBereich As Range
Dim gefunden As Range
Dim ersterTreffer As String
Dim suchWert As String
suchWert = "x" 'hier kommt dein Suchwert rein
With ThisWorkbook.Sheets("Auswertung")
letzteZeile = .Range("A" & Rows.Count).End(xlUp).Row
Set suchBereich = .Range("A2:A50")
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
If Not gefunden Is Nothing Then
ersterTreffer = gefunden.Address
Do
gefunden.Activate
ActiveCell.EntireRow.Delete shift:=xlUp
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
Loop While Not gefunden Is Nothing
End If
End With
End Sub
Bei diesem kann ich nach betätigung eines Button die Zeilen Nummer eingeben, welche dann gelöscht wird.
Nun meine Bitte an die Experten, kann mir jemand einen Code geben, bei welchem ich
von bis eingeben kann?
Danke für die Hilfe =)
Gruss
Mischu
Betrifft: AW: VBA Code - mehrere Zeilen löschen
von: Matthias L
Geschrieben am: 28.10.2014 08:17:40
Hallo
Zitat:
Bei diesem kann ich nach betätigung eines Button die Zeilen Nummer eingeben, welche dann gelöscht wird.
Hab keine Eingabe gefunden, wo machst Du das denn?
Vielleicht sollst Du da ne Inputbox benutzen bzw. 2
Die musst Du aber noch auf eine korrekte Eingabe überprüfen !
Option Explicit
Sub zeilenloeschen()
Dim i As Long
Dim letzteZeile As Long
Dim suchBereich As Range
Dim gefunden As Range
Dim ersterTreffer As String
Dim suchWert As String
Dim FirstRow&
Dim LastRow&
On Error GoTo Fehler
suchWert = "x" 'hier kommt dein Suchwert rein
FirstRow = InputBox("Bitte 1.Zeile eingeben")
LastRow = InputBox("Bitte 2.Zeile eingeben")
With ThisWorkbook.Sheets("Auswertung")
letzteZeile = .Range("A" & Rows.Count).End(xlUp).Row
Set suchBereich = .Range("A" & FirstRow & ":A" & LastRow)
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
If Not gefunden Is Nothing Then
ersterTreffer = gefunden.Address
Do
gefunden.Activate
ActiveCell.EntireRow.Delete shift:=xlUp
Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
Loop While Not gefunden Is Nothing
End If
End With
Fehler:
On Error GoTo 0
End Sub
Gruß Matthias
Betrifft: AW: VBA Code - mehrere Zeilen löschen
von: Michel
Geschrieben am: 28.10.2014 10:37:56
Hallo Matthias
Stimmt, ich hatte zwei varianten mit zwei unterschiedlichen Codes.
Nun habe ich dir leider den falschen geschickt.
Habe deinen Code angepasst,
Sub zeilenloeschen()
Dim FirstRow&
Dim LastRow&
FirstRow = InputBox("Bitte 1.Zeile eingeben")
LastRow = InputBox("Bitte 2.Zeile eingeben")
With ThisWorkbook.Sheets("Auswertung")
ActiveCell.EntireRow.Delete
End With
End Sub
Nur verstehe ich nicht ganz, wieso er mir nicht die Zeilen löscht, welche ich in der Inputbox angegeben habe.
Kannst du mir weiterhelfen?
Danke schon im Voraus
Gruss
Mischu
Betrifft: AW: VBA Code - mehrere Zeilen löschen
von: Matthias L
Geschrieben am: 28.10.2014 11:48:49
Hallo
Zitat:
Nur verstehe ich nicht ganz, wieso er mir nicht die Zeilen löscht, welche ich in der Inputbox angegeben habe.
Wenn Du sie im weitere Verauf des Makro nicht angibst, werden sie auch nicht gelöscht!
Du hast ja mit:
ActiveCell.EntireRow.Delete
nur die Zeile der aktiven Zelle gelöscht.
Probier das:
Option Explicit
Sub zeilenloeschen()
Dim FirstRow&, LastRow&
On Error GoTo Fehler
FirstRow = InputBox("Bitte 1.Zeile eingeben")
LastRow = InputBox("Bitte 2.Zeile eingeben")
With ThisWorkbook.Sheets("Auswertung")
.Rows(FirstRow & ":" & LastRow).Delete
End With
Exit Sub
Fehler:
MsgBox "Zeilenzahl als Eingabe erwartet!", vbCritical
On Error GoTo 0
End Sub
Beiträge aus den Excel-Beispielen zum Thema "VBA Code - mehrere Zeilen löschen"