Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: bei doppelten Einträgen die Zeile löschen ?

VBA: bei doppelten Einträgen die Zeile löschen ?
20.05.2007 22:19:00
Selma
Hallo Leute,
wie kann ich per VBA bei doppelten Einträgen in Spalte A (ab Zeile 2, da in erste Zeile der Überschrift stehet) die Zeile löschen?
z.B.
A20 = Artikel 250
A48 = Artikel 250
A80 = Artikel 250
dann sollen die Zeilen 48 und 80 gelöscht werden.
Vielen herzlichen Dank im Voraus....
Liebe Grüße
Selma

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: bei doppelten Einträgen die Zeile löschen ?
20.05.2007 22:28:22
Josef
Hallo Selma,
das sollte es tun.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Doppler_Weg()
Dim rng As Range, rngD As Range
Dim lngL As Long

With Sheets("Tabelle1") ' Tabellenname anpassen!
    
    lngL = Application.Max(2, .Cells(Rows.Count, 1).End(xlUp).Row)
    
    
    
    For Each rng In .Range("A2:A" & lngL)
        If Application.CountIf(.Range("A2:A" & rng.Row), rng) > 1 Then
            If rngD Is Nothing Then
                Set rngD = rng.EntireRow
            Else
                Set rngD = Union(rngD, rng.EntireRow)
            End If
        End If
    Next
    
End With

If Not rngD Is Nothing Then rngD.Delete

End Sub

Gruß Sepp

Anzeige
Vielen Dank Sepp !
20.05.2007 22:35:55
Selma
Vielen Dank Sepp.
LG
Selma

AW: VBA: bei doppelten Einträgen die Zeile löschen ?
20.05.2007 22:30:00
Peter
Hallo Selma,
das geht z. B. so:


Option Explicit
Public Sub Loeschen()
Dim lLetzte  As Long
Dim lZeile   As Long
   With Worksheets("Tabelle1")
      lLetzte = IIf(.Range("A65536") <> "", 65536, .Range("A65536").End(xlUp).Row)
      For lZeile = lLetzte To 2 Step -1
         If Application.WorksheetFunction.CountIf(.Range("A2:A" & lLetzte), _
            Range("A" & lZeile).Value) > 1 Then
            Rows(lZeile).Delete Shift:=xlUp
         End If
      Next lZeile
   End With
End Sub 


Gruß Peter

Anzeige
AW: VBA: bei doppelten Einträgen die Zeile löschen
20.05.2007 22:38:00
Selma
Hallo Peter,
Deine Lösung funktioniert auch. Auch vielen vielen Dank...
LG
Selma

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige