Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Doppelte Werte per VBA Filtern





Frage

Hi! Möchte gerne in der Tabelle ABM in der Spalte A11:A250 und die entprechenden Werte die daneben in B11:A250 stehen und auch passend zur Nummer in Spalte A auch doppelt sind per VBA Befehl löschen. Ich weis das dies auch per Advanced Filter möglich ist, aber dies funktioniert nicht richtig und außerdem will ich das Makro in ein Modul einbauen. Danke im Voraus Gruß AF

Antwort 1 von coros

Hallo VBA_Anfänger,

mit nachfolgendem Makro sollte das funktionieren, was Du Dir vorgestellt hast. Kopiere nachfolgendes Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.

Option Explicit

Sub Löschen()
Dim i1 As Integer, i2 As Integer
Application.ScreenUpdating = False
For i1 = 11 To 250
    For i2 = i1 + 1 To 250
        If Cells(i1, 1) = Cells(i2, 1) Then _
            Rows(i2).ClearContents
    Next
Next
End Sub


Hier wird in Spalte A nach doppelten Werten gesucht. Werden welche gefunden, werden diese gelöscht.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich wieder.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von VBA_Anfänger

Danke funktioniert, aber wie kann man die nun freibleibenden Zellen gleich mitlöschen?

Danke im Voraus
AF

Antwort 3 von coros

Hallo VBA_Anfänger,

von Löschen der Leerzellen stand nichts in Deiner Frage. Du fragst doch hier nicht zum ersten Mal. Da müsstest Du doch mittlerweile mitbekommen haben, so genauer die Beschreibung, desto genauer die Lösung.

Nachfolgendes Makro sollte das machen, was Du Dir vorgestellt hast.

Option Explicit

Sub Löschen()
Dim i1 As Integer, i2 As Integer
Application.ScreenUpdating = False
For i1 = 11 To 250
For i2 = i1 + 1 To 250
If Cells(i1, 1) = Cells(i2, 1) Then _
Rows(i2).ClearContents
Next
Next
Range("A11:A250").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Tausche es gegen das Alte aus.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von VBA_Anfänger

Hi!

Danke funktioniert, aber dauert leider ewig weil es ein paar hundert Nummern sind. Gibt es auch eine Möglichkeit das ganze zu optimieren?

Gruß AF

Antwort 5 von nighty

hi all :)

die findmethode wuerde sich hier anbieten um eine verschachtelung zu vermeiden.hatte vor kurzem erst ein beispiel gebracht.

gruss nighty