Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1504to1508
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
Gefilterte Daten sortiert in ComboBox
01.08.2016 16:09:53
Patrick
Hallo ihr Profis!
Nachdem ich nun das Herber-Forum des Öfteren als Leser zu Rate gezogen habe,
widme ich mich nun an die Community als schreibender User.
Ich würde gerne mit dem u.a. VBA-Code die übrig gebliebenen Filter-Ergebnisse (Auto-Filter-Funktion)ressourcenschonend in eine ComboBox übertragen via "ComboBox0.List = List0(Sheets(1), 1)".
Leider kann ich meinen bisherigen Code nicht so erweitern, dass er mir nur die sichtbaren Zellen ausliest.
Ich habe schon viele Befehle versucht zu integrieren, die allesamt schiefgelaufen sind. Das liegt wahrscheinlich
mehr an meiner mangelnden Erfahrung in VBA, als an Excel ;-)

Function List0(sh As Worksheet, lngCol As Long)
'lngCol gibt die Spalte gezählt von links an
lngCol = 4
Dim vntList(), n As Long, vntC, vntTmp
Dim myCol As New Collection
With sh
ReDim vntList(1 To 1, 1 To Application.CountA(.Columns(lngCol)))
vntTmp = .Range(.Cells(3, lngCol), .Cells(Rows.Count, lngCol).End(xlUp))
End With
For Each vntC In vntTmp
Err.Clear
On Error Resume Next
myCol.Add vntC, CStr(vntC)
If Err.Number = 0 Then
n = n + 1
vntList(1, n) = vntC
End If
Next
ReDim Preserve vntList(1 To 1, 1 To n)
List0 = WorksheetFunction.Transpose(vntList)
End Function

Für jegliche Hilfe wäre ich Euch sehr dankbar!
Viele Grüße,
Patrick

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gefilterte Daten sortiert in ComboBox
01.08.2016 16:17:26
Daniel
Hi
bei mangelnden VBA-Kennnissen würde ich so vorgehen:
1. gefilterte Werte in ein leeres Tabellenblatt kopieren.
in gefilterten Tabellen werden nur die sichtbaren Zellen übertragen
2. in der neuen Tabelle die Werte nach Wunsch weiterbearbeiten, dh. Sortieren, Duplikate-Entfernen, nicht benötigte Spalten löschen usw.
3. die Werte dann aus der neuen Tabelle in die Listbox einfügen.
das lässt ich einfach programmieren und du kannst den Grossteil der Schritte mit dem Recorder aufzeichnen.
Gruß Daniel
AW: Gefilterte Daten sortiert in ComboBox
01.08.2016 21:17:16
Patrick
Hallo Daniel!
Danke für deine schnelle Hilfe!
Deinen Gedanken habe ich bereits versucht umzusetzen, allerdings war die Rechenleistung immer die Begrenzung, warum ich es nicht genutzt habe. Es handelt sich um die Aktualisierung sehr vieler Spalten bzw. die neue Einleisung von ca. 20 ComboBox´en.
Besser wäre eine Lösung, die sich direkt in den Code integrieren lässt. Ich habe weitere Möglichkeiten bereits probiert, allerdings nie die Kombination hinbekommen:
Version 1:

Dim i As Long
ComboBox1.Clear
For i = 4 To Worksheets("Stammdaten").UsedRange.Rows.Count
If Rows(i).Hidden = False Then
ComboBox1.AddItem (Cells(i, 4).Value)                       '(Nr.Reihe, Nr.Spalte)
End If
Next i
und
Version2:

Dim r As Range
ComboBox1.Clear
For Each r In Range("DB1:DB5").SpecialCells(xlCellTypeVisible)
ComboBox1.AddItem r.Value

Anzeige
AW: Gefilterte Daten sortiert in ComboBox
04.08.2016 15:19:36
Patrick
Kann mir keiner helfen? :-(

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige