Ich habe den folgenden Code in VBA geschrieben, um vollständige Zeilen zu löschen, wenn in Spalte U von Sheet21 (tatsächlich "ROG-Registrierung" genannt) "Self Cancelled" oder "Waitlisted" angezeigt werden. Wenn ich auf der Registerkarte ROG-Registrierung bin, während das VBA-Fenster geöffnet ist und ausgeführt wird, funktioniert dies einwandfrei.
Ich habe eine separate Registerkarte mit Makroschaltflächen und habe dieses Makro der Formularsteuerungsschaltfläche zugewiesen, aber wenn ich auf die Schaltfläche klicke, geschieht nichts.
Irgendeine Idee warum? Kann es sein, dass ich im Code den Namen "ROG Registration" verwenden muss? ".Wählen" Sie zuerst die Registerkarte, da sie sich auf einer anderen Registerkarte als die Schaltfläche befindet?
Sub ROG_DeleteRows()
Dim r As Integer
For r = Sheet21.UsedRange.Rows.Count To 1 Step -1
If Cells(r, "U") = "Self Cancelled" Then
Sheet21.Rows(r).EntireRow.Delete
ElseIf Cells(r, "U") = "Waitlisted" Then
Sheet21.Rows(r).EntireRow.Delete
End If
Next
End Sub
If Sheet21.Cells(r, "U") =...
Andernfalls wird standardmäßig das aktive Blatt (d. H. Das mit den Schaltflächen) verwendet