Anzeige
Archiv - Navigation
1152to1156
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

Liste ohne Duplikate in andere Tabelle

Liste ohne Duplikate in andere Tabelle
Lutz
Hallo Excel-Profis,
ich habe ein Makro ergoogelt und angepasst.
Sub Test()
Dim meTab1 As Worksheet, meTab2 As Worksheet
Dim FilterBereich As Range, loLetze As Long
Set meTab1 = Sheets("Mitarbeiter") 'Tabellenname Quelle
Set meTab2 = Sheets("VerfügbarMA") 'Tabellenname Ziel
With Application
.ScreenUpdating = False
.EnableEvents = False
With meTab1
'Bereich leeren für neue Daten
meTab2.Range("B6:B" & meTab2.Rows.Count).Value = ""
'Filterbereich zuweisen anwenden
Set FilterBereich = .Range("B2", .Cells(.Rows.Count, 1).End(xlUp))
'Spezialfilter anwenden
FilterBereich.AdvancedFilter xlFilterInPlace, Unique:=True
'Sichtbare Zellen kopieren
FilterBereich.Offset(0, 1).SpecialCells(xlCellTypeVisible).Copy meTab2.Range("b6")
'Filter löschen
If .FilterMode Then .ShowAllData
End With
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Das Makro soll im Blatt "Mitarbeiter" die einzelnen Mitarbeiter im Bereich B2:B? ohne Duplikate filtern und dann in das Blatt "VerfügbarkeitMA" in den Bereich B6:B? schreiben.
Es funktioniert auch - aber er bringt mir auch Duplikate. (In Spalte A im Blatt Mitarbeiter ist eine fortlaufende Nummer - ist das die Ursache?)
Was muß ich ändern um Einträge ohne Duplikate zu bekommen?
Vielen Dank für Eure Hilfe
Gruß Lutz

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

Betreff
Benutzer
Anzeige
AW: Liste ohne Duplikate in andere Tabelle
30.04.2010 10:50:56
ransi
HAllo Lutz
Mit dem Spezialfilter kann ich dir nicht weiterhelfen.
Wenn es um Unikate bzw. Duplikate geht versuche ich immer das mit dem Dictionary-Object zu lösen.
Schau mal ob dieser Code dein Problem lösen kann:
Option Explicit

Sub Test()
Dim meTab1 As Worksheet
Dim meTab2 As Worksheet
Dim objDic As Object
Dim arr As Variant
Dim lngL As Long
Set meTab1 = Sheets("Mitarbeiter") 'Tabellenname Quelle
Set meTab2 = Sheets("VerfügbarMA") 'Tabellenname Ziel
Set objDic = CreateObject("Scripting.Dictionary")
With meTab1
    arr = .Range("B2:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
    For lngL = LBound(arr) To UBound(arr)
        objDic(arr(lngL, 1)) = 0 'Unikate sammeln
    Next
End With
meTab2.Range("B6").Resize(objDic.Count) = WorksheetFunction.Transpose(objDic.keys) 'Ausgeben
End Sub



ransi
Anzeige
AW: Liste ohne Duplikate in andere Tabelle
30.04.2010 10:57:33
Lutz
Hallo Ransi,
vielen lieben Dank - das geht wie verrückt.
Mit den Arrays habe ich es nicht so - leider.
Also noch mal vielen Dank, Du hast mir sehr geholfen.
Ich wünsche Dir noch ein schönes Wochenende
Viele Grüße Lutz
AW: Liste ohne Duplikate in andere Tabelle
30.04.2010 10:57:05
Yusuf
Hallo,
meine erste Vermutung waere, dass der Filterbereich Leerzeilen/zellen enthaelt oder der Filterbereich falsch definiert wird.
Ich wuerde an deiner stelle zum testen den Bereich einmal konkret festlegen um zu testen ob es ueberhaupt funktioniert.
Anstatt Set FilterBereich = .Range("B2", .Cells(.Rows.Count, 1).End(xlUp)) zum Beispiel Set FilterBereich = .Range("B2:B15")
Gruß
Yusuf
Anzeige
AW: Liste ohne Duplikate in andere Tabelle
30.04.2010 10:58:57
Lutz
Hallo Yusuf,
vielen Dank für die Mühe - Ransi hat das schon gelöst.
Manchmal ist das Forum fast zu schnell.
Ich wünsche Dir ein schönes Wochenende
Viele Grüße Lutz

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige