Ich habe Code, lassen Sie mich tun entweder/oder von dem, was ich suche zu tun. Ich versuche, den Code zu erstellen, die:Makro, das löscht Zeilen basierend auf bestimmten Zelle Wert, löscht dann die leeren Zeilen unter dieser bestimmten Spalte Zelle
- Sucht „NONE“ in der Spalte „S“ und löscht diese Zeile, und
- löscht dann alle Zeilen darunter, bis es in dieser Reihe in die nächste besiedelte Zelle läuft, aber sucht weiterhin den Rest der Spalte "S" nach mehr "NONE". Hier
ist, was ich habe, so weit, aber ist das Problem ein anderes IF
Zugabe vor oder nach dem .Rows(i).Delete
oder könnte es
Sub Helmetpractice()
Const TEST_COLUMN As String = "S"
Dim Lastrow As Long
Dim i As Long
Application.ScreenUpdating = False
With ActiveSheet
Lastrow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = Lastrow To 1 Step -1
If Cells(i, TEST_COLUMN).Value2 Like "NONE" Then
'this is where I am having trouble for the blank row delete
.Rows(i).Delete
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Könnten Sie einige Beispieldaten veröffentlichen und ein Beispiel, wie die Daten aussehen sollte, nachdem das Makro ausgeführt hat? –
Also hat Ihre Daten eine Reihe von leeren Zeilen eingestreut? Kannst du beim Durchlaufen nicht sowohl die "NONE" als auch eine leere Zeile prüfen und in jedem Fall löschen? Sie können If Application.CountA (.Cells (i, TEST_COLUMN) .EntireRow) = 0 verwenden, um nach einer leeren Zeile zu suchen. – rryanp
Ich habe gerade ein Bild von einem Schnipsel der Tabelle veröffentlicht. Wenn Sie im Grunde versuchen, die Zeile "NONE" selbst zu löschen, löschen Sie die folgenden leeren Zeilen, bis sie in der nächsten befüllten Zelle in Spalte S angezeigt werden, und fahren Sie bis zum Ende fort. Ich möchte die leeren Zeilen unter "HELMET" bleiben und nur leere Zeilen von unter "NONE" löschen lassen. Am Ende sollten nur graue Zellen mit "HELMET" und Leerzeichen darunter bleiben. Die aktuelle Tabelle hat 1000 Zeilen. –