Excel Makro sucht nach Variable und löscht Datensatz!?
Hallo liebe Community,
ich bräuchte eure schnelle Hilfe wieder einmal. Ich habe ein schönes Makro, das an sich super funktioniert. Es sucht nach einer Variable und löscht entsprechend alle Zeilen, wenn man es auslöst.
Beispiel es soll B1 suchen und wenn vorhanden, alle 4 Datenreihen in der Tabelle löschen. Leider habe ich das Problem, an dem ich gerade verzweifle, dass Excel nicht nur B1 löscht, sondern wenn vorhanden, auch B10, B11, B12, B13, B14, B15, B16, B17, B18 und B19
An welcher Stelle des Makros kann ich es ändern, dass Excel wirklich nur das sucht und löscht, was auch tatsächlich gesucht wird.
Mein Makro:
Sub B1_weg()
Dim lngZ As Long
For lngZ = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If InStr(Cells(lngZ, 4), "B1") > 0 Then
Cells(lngZ, 1).EntireRow.Delete
End If
Next
End Sub
Vielen Dank im Voraus!
2 Antworten
Wozu suchst du denn mit Instr? Reicht nicht if Cells(lngZ, 4) = "B1"?
Oder steht sehr wohl weiterer Text in der Zelle. Dann brauchst du ein, zwei Zeilen mehr, geht aber trotzdem
int = InStr(Cells(lngZ, 4), "B1")
if (int > 0) and (not IsNumeric(Mid(Cells(lngZ, 4), int+3, 1))) Then
...
(ungetestet)
Du prüfst also, ob das Zeichen hinter B1 eine Ziffer ist.
In der Zelle, wo B1 steht, steht nichts Weiteres. Es ist aber in der Spalte D. In Spalte A, B und C sind andere Angaben, die nicht gesucht werden, sondern einfach mitgelöscht werden.
Den ganzen Inhalt vergleichen:
If Cells(lngZ, 4).Value = "B1" Then
Dein Code funktioniert leider nicht :(