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

Autofilter

Autofilter
09.08.2013 14:31:19
DDFrank
Hallo zusammen,
Ich habe eine einfache Tabelle mit 6 Spalten. In Spalte A steht ein Datum in B und C Zahlen, in D, E und F Text.
Nun habe ich eine UF mit einer Combobox, einem OK-Button und einer Listbox.
Mein Ziel ist es, über die Combobox einen Monat auszuwählen (z.B. August 2013) auf ok zu klicken und mir alle gefilterten Daten dieses Monats in der Listbox der UF anzeigen zu lassen.
Bin VBA Frischling und fast am verzweifeln. Weiß jemand einen Rat? Ist das überhaupt zu realisieren und wenn ja wie?

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
09.08.2013 15:23:57
Rudi
Hallo,
als Ansatz
Private Sub ComboBox1_Change()
Dim objList As Object, arr, i As Long, j As Integer, arrTmp(1 To 1, 1 To 6), arrList()
Set objList = CreateObject("Scripting.Dictionary")
With Sheets(1)
arr = .Cells(1, 1).CurrentRegion
End With
For i = 2 To UBound(arr)
If MonthName(Month(arr(i, 1))) = ComboBox1 Then
For j = 1 To 6
arrTmp(1, j) = arr(i, j)
Next
objList(i) = arrTmp
End If
Next
If objList.Count = 0 Then
ListBox1.Clear
Exit Sub
End If
arr = objList.items
arr = WorksheetFunction.Transpose(arr)
arr = WorksheetFunction.Transpose(arr)
ReDim arrList(1 To objList.Count, 1 To 6)
If objList.Count > 1 Then
For i = 1 To UBound(arr)
For j = 1 To 6
arrList(i, j) = arr(i, j)
Next
Next
Else
For i = 1 To 6
arrList(1, i) = arr(i)
Next
End If
ListBox1.ColumnCount = 6
ListBox1.List = arrList
End Sub
Private Sub UserForm_Activate()
Dim i As Integer
ComboBox1.Clear
For i = 1 To 12
ComboBox1.AddItem MonthName(i)
Next
End Sub

Gruß
Rudi

Anzeige
AW: Autofilter
09.08.2013 16:17:59
DDFrank
Hallo Rudi,
danke erstmal für deine schnelle Hilfe.
In Zeile 7 bekomme ich aber einen Laufzeitfehler: Typen unverträglich
For i = 2 To UBound(arr)
Wie erreiche ich es, das nur die Monate (mit Jahr) in der Combobox aufgeführt werden, die in Spalte A vorhanden sind?
VG Frank

AW: Autofilter
09.08.2013 18:06:31
DDFrank
Hallo Rudi,
den Laufzeitfehler hab ich beseitigen können. Bleibt noch eins... wie kann ich die Monate nach Jahr auswählen. Im Moment bekomme ich, wenn ich z.B. August auswähle, alle Augustdaten aus allen Jahren angezeigt. Hast du evtl. da noch einen Tip?
VG Frank

AW: Autofilter noch offen !
09.08.2013 19:12:05
robert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige