Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1600to1604
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

Unikats-Liste mit VBA erstellen

Unikats-Liste mit VBA erstellen
22.01.2018 11:34:06
Uwe
Hallo Zusammen,
ich bekomme folgende Aufgabe nicht mit VBA hin:
In Spalte A habe ich sehr viele Datums-Einträge (vom 01.01.2017 bis heute). Ein Datum kommt dabei immer mehrfach vor.
Ab einem bestimmten Datum benötige ich aus Spalte eine Unikats-Liste, die größer dem Ab-Datum sind. Das Ab-Datum steht in B1. Die Unikats-Liste soll dann in B2 eingefügt werden.
Vielen Dank für Eure Unterstützung
Uwe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unikats-Liste mit VBA erstellen
22.01.2018 12:30:47
Rudi
Hallo,
wozu VBA?
=WENN(ISTZAHL(B1);WENNFEHLER(KKLEINSTE(A:A;ZÄHLENWENN(A:A;"&lt=" &B1)+1);"");"")
und runter kopieren.
Gruß
Rudi
AW: Unikats-Liste mit VBA erstellen
22.01.2018 12:43:31
Uwe
Hallo Rudi,
ich wollte das "neue" Makro in ein bestehendes Makro integrieren.
Dir Formellösung gefällt mir sehr gut, lieber wäre es mir via Makro
Gruß und vielen Dank
Uwe
AW: Unikats-Liste mit VBA erstellen
22.01.2018 12:54:07
Daniel
Hi
im Zweifelsfall kannst du ja auch im Makro die Formel in die Zellen einfügen und dann die Formeln durch die Werte ersetzen.
Formeln und Marko schließen sich nicht gegenseitig aus, sondern ergänzen sich:
With Range("B2:B" & Cells(Rows.Count, 1).end(xlup).Row)
.FormulaLocal = _
"=WENN(ISTZAHL(B1);WENNFEHLER(KKLEINSTE(A:A;ZÄHLENWENN(A:A;""
Gruß Daniel
Anzeige
AW: Unikats-Liste mit VBA erstellen
22.01.2018 12:48:38
Daniel
Hi
in VBA so

dim Zelle as Range
dim Liste As Object
set Liste = CreateObject("Scripting.Dictionary")
for Each Zelle in Columns(1).SpecialCells(xlcelltypeconstants, 1)
if Zelle.Value > Range("B1").Value then Liste(Zelle.Value) = 0
Next
if Liste.count > 0 Then _
Range("B2").Resize(Liste.Count, 1).Value = Worksheetfunction.Transpose(Liste.Keys)
Gruß Daniel
Super!
22.01.2018 13:24:18
Uwe
Hallo Daniel,
läuft wie gewünscht!
Vielen Dank
Uwe
P.S: Dank auch an Ralf Anton
AW: Unikats-Liste mit VBA erstellen
22.01.2018 12:52:24
Ralf
Hi Uwe,
das geht im Wesentlichen in 2 Schritten.
1. Schritt: Datumswerte filtern, die > als B1 sind und (im Beispiel) in Spalte C schreiben
2. Schritt: daraus eine Unikatliste filtern und in Spalte B schreiben.

Dim lz&
Application.ScreenUpdating = False
With ActiveSheet
lz = .Cells.SpecialCells(xlCellTypeLastCell).Row
.Range("B2:B" & lz).Clear 'alte Werte löschen
.Range("$A$1:$A$" & lz).AutoFilter Field:=1, Criteria1:=">" & CLng(Cells(1, 2)), Operator:= _
xlAnd
.Range("A2:A" & lz).Copy Destination:=.Cells(2, 3)
.Range("$A$1:$A$" & lz).AutoFilter
.Range("C2:C" & lz).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
.Range("C2:C" & lz).Copy Destination:=.Cells(2, 2)
.ShowAllData
.Range("C1:C" & lz).Clear
End With
Application.ScreenUpdating = True

Anzeige

83 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige