Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

If true dann Zeile löschen

If true dann Zeile löschen
21.11.2019 12:11:49
georg11
Hallo,
ich habe folgenden Code.

Sub lief()
Dim wks As Worksheet
Dim lngLetzte As Long, lngI As Long, lngA As Long
Application.ScreenUpdating = False
Set wks = ThisWorkbook.Worksheets("Sheet1")
With wks
lngLetzte = .Range("A1048576").End(xlUp).Row
For lngI = lngLetzte To 2 Step -1
lngA = lngI - 1
'MsgBox lngI, , "Meldung"
'MsgBox lngA, , "Meldung"
If Worksheets("Sheet1").Range("F" & lngI).Value = Worksheets("Sheet1").Range("F" &   _
_
lngA).Value And Worksheets("Sheet1").Range("G" & lngI).Value = Worksheets("Sheet1").Range("G" &  _
lngA).Value And Worksheets("Sheet1").Range("C" & lngI).Value = Worksheets("Sheet1").Range("C" & lngA).Value Then
Worksheets("Sheet1").Rows(lngI).Delete
MsgBox Text1 & vbLf & Text2, , "Meldung"
MsgBox Text1 & vbLf & Text2, , "Meldung"
Else
lngLetzte = lngLetzte - 1
End If
Next lngI
End With
Set wks = Nothing
Application.ScreenUpdating = True
End Sub

Mein Ziel ist es, dass wenn alle 3 Zellen mit den Zellen obendrüber übereinstimmen eine davon gelöscht wird.
Das Zählen funktioniert, nur das Löschen irgendwie nicht. Hat jemand Tipps?
Vielen Dank und einen schönen Tag

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

Betreff
Datum
Anwender
Anzeige
AW: If true dann Zeile löschen
21.11.2019 12:39:30
Rudi
Hallo,
Sub lief()
Dim wks As Worksheet
Dim lngLetzte As Long, lngI As Long, lngA As Long
Application.ScreenUpdating = False
Set wks = ThisWorkbook.Worksheets("Sheet1")
With wks
lngLetzte = .Range("A1048576").End(xlUp).Row
For lngI = lngLetzte To 2 Step -1
lngA = lngI - 1
If .Range("F" & lngI) = .Range("F" & lngA) And _
.Range("G" & lngI) = .Range("G" & lngA) And _
.Range("C" & lngI) = .Range("C" & lngA) Then
.Rows(lngI).Delete
MsgBox Text1 & vbLf & Text2, , "Meldung"
End If
Next lngI
End With
Set wks = Nothing
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Anzeige
AW: If true dann Zeile löschen
22.11.2019 06:19:11
georg11
Guten Morgen, danke für deinen Versuch, leider funktioniert es bei mir nicht. Hat es bei dir funktioniert?
Liebe Grüße
Georg
AW: If true dann Zeile löschen
21.11.2019 12:40:27
Hajo_Zi
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Das ist nur meine Meinung zu dem Thema.

Anzeige
blablabla... owT
21.11.2019 12:45:18
Rudi
AW: If true dann Zeile löschen
22.11.2019 22:58:34
Piet
Hallo Georg
komisch das manche Intelligente Ratgeber immer Beispieldateien brauchen, wenn man sich NUR den Code mal richtig anschauen muss. Man sollte vielleicht lernen "bis drei" zu zaehlen!
Bei mir klappte der Code auch nicht auf Anhieb, er funktioniert aber trotzdem! Mein Fehler war, das die Spalte A beim testen leer war! Dort wird aber die LastZelle gesucht. GGf. musst du den Teil auf die richtige Spalte aendern. Vielleicht C, F oder G - lngLetzte = .Range("A1048576").End(xlUp).Row
PS - es fehlt auch der Text für die MsgBox, da kommt Keine Anzeige!!
mfg Piet
Sub lief()
Dim lngLetzte As Long, lngI As Long, lngA As Long
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Sheet1")
lngLetzte = .Range("A1048576").End(xlUp).Row
For lngI = lngLetzte To 2 Step -1
lngA = lngI - 1
If .Range("F" & lngI) = .Range("F" & lngA) And _
.Range("G" & lngI) = .Range("G" & lngA) And _
.Range("C" & lngI) = .Range("C" & lngA) Then
.Rows(lngI).Delete
MsgBox Text1 & vbLf & Text2, , "Meldung"
End If
Next lngI
End With
Application.ScreenUpdating = True
End Sub

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige