VBA Bereich durchsuchen und gewisse Zeilen löschen?
Guten Tag,
ich habe ein kleines Problem.
Kurz zur Situation:
Ich möchte aus der Tabelle Test (Range A3:I102) nur die Zeilen löschen (ClearContents), wo in Spalte I "erledigt" steht. Jedoch sollen nur die Spalte A, B, D, E und I gelöscht werden. Dieses lasse ich über einen Button laufen.
Quasi: Wenn in Spalte I erledigt steht, dann lösche/cleare die dazugehörige Zeile in Spalte A, B, D, E und I. Die anderen Zeilen sollen nicht gelöscht werden. (Sind ja nicht erledigt :D)
Kann da jemand etwas aus dem stehgreif raushauen?
Vielen Dank!
Gruß
2 Antworten
Auf die Schnelle, einfach gestrickt:
Private Sub CommandButton1_Click()
Dim Bereich As Range
Set Bereich = Range("I3:I102")
Dim Zelle As Range
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
For Each Zelle In Bereich
If Zelle.Value = "erledigt" Then
Zelle.Offset(0, -8).ClearContents
Zelle.Offset(0, -7).ClearContents
Zelle.Offset(0, -5).ClearContents
Zelle.Offset(0, -4).ClearContents
Zelle.ClearContents
End If
Next Zelle
ErrorHandler: Application.ScreenUpdating = True
End Sub
Klappt es? Habe ich Dich richtig verstanden?
Nicht getestet, müsste aber funktionieren.
Mach vor dem Test eine Sicherheitskopie von der Datei!
Sub Erledigt_loeschen()
Dim Zeile As Integer
For Zeile = 3 To 102
If Cells(Zeile, 9) = "erledigt" Then
Range(Cells(Zeile, 1), Cells(Zeile, Zeile, 2)).ClearContents
Range(Cells(Zeile, 4), Cells(Zeile, Zeile, 5)).ClearContents
Cells(Zeile, 9).ClearContents
End If
Next
End Sub
vielen Dank für dein Hilfe. Ich habe die Lösung von Oubyi bereits verwendet. Trotzdem, Dankeschön :)
Vielen Dank, funktionier super! :)