Folgendes Problem:
Ich lasse in Spalte C einen Wert suchen, der nach Finden geloescht werden soll. Hierzu denke ich, dass ich eine Variable benoetige, die mir die Zeile speichert in der der gesuchte Wert steht, um anschliessend ueber
ActiveSheet.Cells(VARIABLE, 1).Select
Selection.Delete Shift:=xlUp
zu loeschen.
Bisher sieht mein Code wie folgt aus.
Private Sub cmdDelete_Click()
If MsgBox("Delete Entry?", vbYesNo + vbQuestion) = vbYes Then
Dim Found As Range
Dim LoLetzte As Long
Dim sSearch As String
sSearch = Me.cboSerial.Value
If sSearch = "" Then Exit Sub
LoLetzte = 65536
If Range("C65536") = "" Then LoLetzte = Range("C65536").End(xlUp).Row
Set Found = Range("C1:C" & LoLetzte).Find(sSearch, Range("C" & LoLetzte), , xlPart, , xlNext)
If Found Is Nothing Then
MsgBox ""
Else
ActiveSheet.Unprotect
Worksheets("Delivery").Activate
ActiveSheet.Cells(Found, 1).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Cells(Found, 2).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Cells(Found, 3).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Cells(Found, 4).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End If
End Sub
Mit Found als Variable wird allerdings nicht die Zeile in der Suchwert steht geloescht, sondern die Zeile mit dem Wert des Suchwertes. Heisst: ich suche nach 5, wird 5 in Zeile 6 gefunden, wird nicht Zeile 6 sondern Zeile 5 geloescht.
Dankbar fuer jeden Denkanstoss.
Gruesse,
Armin