Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1680to1684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Loop in Button Sub

Loop in Button Sub
08.03.2019 07:51:42
Marcel
Hallo,
ich habe einen Command Button der Zeilen löschen soll in denen das Wort "erledigt" steht.
Dieses Funktioniert soweit auch ganz gut.
Das Problem ist, dass ich den Button immer wieder klicken muss um alle Zeilen in denen das Wort "erledigt" steht zu löschen.
Kann ich das automatisieren? Einmal klicken und dann werden alle Zeilen gelöscht?
Hier ist der Code...
Private Sub CommandButton2_Click()
Dim strString As String, rngCell As Range
strString = "erledigt"
Set rngCell = Columns(7).Find(strString, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True) _
c = rngCell.Row
i = rngCell.Column
If Not rngCell Is Nothing Then
Tabelle1.Cells(c + 1, i).EntireRow.Delete
rngCell.EntireRow.Delete
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Loop in Button Sub
08.03.2019 08:24:40
Torsten
Hallo Marcel,
z.B. so:
Dim r As Long, lR As Long
lR = Sheets("Dein Sheetname").Range("G" & Rows.Count).End(xlUp).Row  'Sheetname anpassen
For r = lR To 1 Step -1
With Sheets("Dein Sheetname")   'Sheetname anpassen
If .Cells(r, 7) = "erledigt" Then .Rows(r).EntireRow.Delete
End With
Next
Gruss Torsten
AW: mit findnext
08.03.2019 08:26:33
hary
Moin
Gehe ich Recht in der Annahme das du in 2 Blaettern loescht?
Sub Test()
Dim rngFind As Range, loesche1 As Range, loesche2 As Range
Dim firstAddress As String, strString As String
strString = "erledigt"
Set rngFind = Columns(7).Find(strString, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address
Do
If loesche1 Is Nothing Then
Set loesche1 = rngFind
Set loesche2 = Tabelle1.Range(rngFind.Address).Offset(1, 0)
Else
Set loesche1 = Union(loesche1, rngFind)
Set loesche2 = Union(loesche2, Tabelle1.Range(rngFind.Address).Offset(1, 0))
End If
Set rngFind = Columns(7).FindNext(rngFind)
Loop While rngFind.Address  firstAddress
End If
If Not loesche1 Is Nothing Then loesche1.EntireRow.Delete
If Not loesche2 Is Nothing Then loesche2.EntireRow.Delete
Set rngFind = Nothing
Set loesche1 = Nothing
Set loesche2 = Nothing
End Sub

gruss hary
Anzeige
ener geht noch
08.03.2019 09:46:36
Werner
Hallo Marcel,
so:
Public Sub aaa()
Dim raZelle As Range
Application.ScreenUpdating = False
For Each raZelle In Columns(7).SpecialCells(xlCellTypeConstants)
If raZelle.Value = "erledigt" Then Tabelle1.Rows(raZelle.Row).Resize(2, 1).EntireRow.Delete
Next raZelle
End Sub
Gruß Werner
AW: Loop in Button Sub
11.03.2019 20:49:56
Marcel
Hallo,
vielen Dank für die Antworten....
Ich hoffe ich Antworte gerade so, dass es alles lesen können.
Bin mir mit dem Handling des Forums noch nicht ganz sicher .....
Ich bin gerade im Urlaub und kann eure Lösungen leider noch nicht testen.
@Hary:
Nein ich lösche nur in einem Arbeitsblatt.
Schönen Gruß
Marcel
Anzeige
Dann aber den Beitrag nicht....
11.03.2019 22:38:16
Werner
Hallo Marcel,
...als offen markieren. Das kannst du ggf. später ja tun, sollte etwas nicht funktionieren.
Gruß Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige