Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Array nach eindeutige Zeilen filtern

Array nach eindeutige Zeilen filtern
01.02.2021 12:53:05
Kay
Hallo,
nach dem Excel 365 so viele schöne Array Funktionen wie Filtern, Sortieren und Eindeutig besitzt, grübel ich nun, wie ich das auch einfach in VBA mit daten Array's schnell und effizient durchführen kann..
Ich lese eine Tabelle mit 1000 Zeilen ein. Das funktioniert ja am schnellsten, wenn ich der Variable in Excel bereits gesetzten Namensbereich zuordne.
Dim aDaten
Dim aDaten_relevant

aDaten = [MeinBereich] 'wie kann ich diesen Daten bereits gefiltert einlesen?
Jetzt möchte ich diese gefilterte Datenmenge nach eindeutigen Spaltenkombinationen wiederum filtern.
aDaten_relevant = Alle eindeutigen Kombinationen aus Spalte 1, 5, 9
Als Ergebnis sollte dann aDaten_relevant nur noch diese 3 Spalten mit eindeutigen Zeilen enthalten.
Was mir in Excel Dank Formelwerk ziemlich einfach gelingt, verschafft mir in VBA leider Kopfzerbrechen.
Vielleicht hat jemand ja einen Lösungsansatz, wie man Daten relativ einfach aus einem Datenbereich in Excel gefiltert und gruppiert über mehrere Spalten als eindeutige Zeilen in einen array einliest.
Danke und Gruß
Kay

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

Betreff
Datum
Anwender
Anzeige
AW: Array nach eindeutige Zeilen filtern
01.02.2021 13:20:02
Daniel
Hi
früher konne man mit WORKSHEETFUNCTION.Function die Excelfunkionen auch innerhalb von VBA verwenden.
wenns darum ging, ganze Formeln direkt in VBA berechnen zu lassen, konnte man EVALUATE einsetzen mit
Ergebnis = Evaluate("xxx")

wobei "xxx" der Formeltext in englischer Schreibweise mit A1-Zellbezügen sein muss
klappt das mit den neuen Funktionen nicht mehr?
Gruß Daniel
AW: Array nach eindeutige Zeilen filtern
01.02.2021 15:37:43
Kay
Hi Daniel,
super, das klappt ja blendend. Somit kann ich endlich die Daten effizient laden.
Unabhängig von dieser effizienten Lösung kann es ja mal sein, dass man in VBA Daten aus arrays filtern oder verdichten möchte, siehe wie oben beschrieben. Gibt es hierzu VBA Befehle oder geht man da wirklich Zeilen/Spalten durch so ein array dann durch und vergleicht die einzelnen Datenzellen?
Danke und Gruß
Kay
Anzeige
AW: Array nach eindeutige Zeilen filtern
01.02.2021 15:52:01
Daniel
Hi
schleifen über Arrays sind jetzt nicht so das Problem, die sind auch in VBA schnell genug, so dass man jetzt nicht für alles eine vorgefertigte Spezialfunktion braucht sondern sich auch mal selber was programmieren kann.
fürs Duplikate-Vermeiden kann man auch das Dictionary-Element verwenden (ein eindimensionales Array mit einem Freitext-Index)
Gruß Daniel
AW: Array nach eindeutige Zeilen filtern
01.02.2021 16:01:25
Rudi
Hallo,
z.B.
Sub aaaa()
Dim objDic As Object, oObj
Dim a1, a2()
Dim i As Long, j As Long
Set objDic = CreateObject("scripting.dictionary")
a1 = Cells(1, 1).CurrentRegion
For i = 1 To UBound(a1)
objDic(Join(Array(a1(i, 1), a1(i, 5), a1(i, 9)), "|")) = 0
Next i
ReDim a2(1 To objDic.Count, 1 To 3)
For Each oObj In objDic
j = j + 1
a2(j, 1) = Split(oObj, "|")(0)
a2(j, 2) = Split(oObj, "|")(1)
a2(j, 3) = Split(oObj, "|")(2)
Next oObj
Worksheets.Add.Cells(1, 1).Resize(UBound(a2), 3) = a2
End Sub

Gruß
Rudi
Anzeige
AW: Array nach eindeutige Zeilen filtern
01.02.2021 16:54:13
Kay
Super - danke

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige