Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelte Einträge ab Zeile 30 löschen

Doppelte Einträge ab Zeile 30 löschen
26.04.2013 08:33:45
Andreas
Guten morgen an alle.
Ich habe mir hier aus dem Archiv ein Makro rausgesucht, welches mir in meiner Datei
doppelte Einträge in Spalte A raussucht und die kompl. Zeile dann löscht.
Das tut es auch. das Makro soll aber erst ab Zeile 30 aktiv werden.
Könnte eventuell jemand mir ei Tip geben, wie ich das Makro ändern muss, damit die Löschung erst ab zeile 30 los geht.
danke im voraus.
Andreas
Hier das Makro
Sub Doppelte_Einträge_löschen()
' Doppelte_Einträge_löschen Makro
''Abfragebox für sicheres übernehmen
Dim strQuest As String
strQuest = MsgBox("       doppelte Einträge löschen....sicher?  ", vbYesNo + vbQuestion, "   _
")
'Wenn die Abfrage mit "Nein" bestätigt wird,
'wird die Prozedur mit dem nächsten Befehl abgebrochen.
If strQuest = vbNo Then Exit Sub
Dim lngZeile As Long
For lngZeile = 1 To IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
If Application.CountIf(Columns(1), Cells(lngZeile, 1)) > 1 Then
Rows(lngZeile).Delete
lngZeile = lngZeile - 1
End If
Next lngZeile
End Sub

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

Betreff
Datum
Anwender
Anzeige
If lngZeile > 30
26.04.2013 08:37:37
Matthias
Hallo
Ungetestet
'....Code
If lngZeile > 30 Then
Rows(lngZeile).Delete
End If
'....code
Gruß Matthias

AW: If lngZeile > 30
26.04.2013 08:50:22
Andreas
Hallo Matthias
danke hierfür,
aber
wo setze ich das ein......bzw was setze ich ein
Andreas

besser so: mit Step -1
26.04.2013 08:49:57
Matthias
Hallo
Option Explicit
Sub Doppelte_Einträge_löschen()
Dim lngZeile As Long, Loletzte&
Dim strQuest As String
strQuest = MsgBox("       doppelte Einträge löschen....sicher?  ", vbYesNo + vbQuestion, "")
If strQuest = vbNo Then Exit Sub
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
For lngZeile = Loletzte To 30 Step -1
If lngZeile > 30 Then
If Application.CountIf(Columns(1), Cells(lngZeile, 1)) > 1 Then
Rows(lngZeile).Delete
End If
Else
Exit For
End If
Next lngZeile
End Sub
Gruß Matthias

Anzeige
AW: besser so: mit Step -1
26.04.2013 08:55:56
Andreas
Hallo Matthias
habe eben deine zweite Nachricht gelesen und ausprobiert.
Funktioniert einwandfrei.
Lasse ich so.
ich danke dir hierfür
schönes Wochenende.
andreas

Danke für die Rückmeldung + sch.WE kwT
26.04.2013 08:58:57
Matthias

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige