Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBoxAuswahl als Array an Makro übergeben

Forumthread: ListBoxAuswahl als Array an Makro übergeben

ListBoxAuswahl als Array an Makro übergeben
20.09.2005 15:47:09
R.Schmitt
Hallo zusammen,
ich versuche derzeit verzweifelt, die in einer ListBox mit
MultiSelect ausgewählten Elemente als Array an ein Makro zu
übergeben, welches die dort gewählten Elemente dann im Seiten
feld einer PivotTabelle sichtbar macht.
Aber irgendwo habe ich in den folgenden drei Makro einen Knoten
drin, dem ich alleine leider nicht Herr werde - weshalb ich euch
belästige.
Das Problem ist,das scheinbar schon der Array selbst nicht richtig
erstellt wird und deshalb im Seitenfeld auch alles bis auf das erste
Element des Arrays verschwunden ist.

Sub ListBoxinArray()
Dim F1 As Variant
Dim str As String
Dim a As Integer
F1 = [Auswertung!d116:d150]
For a = LBound(F1) To UBound(F1)
str = str & Application.Index(F1, a, 1)
Next a
Call PivotFilter("Heft (HFT)", Array(str))
End Sub


Sub PivotFilter(feld$, Elemente As Variant)
Application.CommandBars("Standard").Controls("Rückgängig").Enabled = False
Dim pi As PivotItem
On Error Resume Next
For Each pi In Sheets("PivotWerte").PivotTables("Tabelle1").PivotFields(feld).PivotItems
pi.Visible = (MyMatch(pi.Name, Elemente) <> 0)
Next
End Sub


Function MyMatch(Was, Worin) As Long
On Error GoTo Fehler
MyMatch = WorksheetFunction.Match(Was, Worin, 0)
Exit Function
Fehler:
MyMatch = 0
End Function

Gerne bin ich auch für eine einfachere als die hier gezeigte Lösung
zu haben.
Herzlichen Dank
R.Schmimtt
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ListBoxAuswahl als Array an Makro übergeben
20.09.2005 17:13:00
Rene
Hi,
bist du dem code beim Durchlaufen mal mit F8 gefolgt, also Zeile für Zeile durchgegangen und hast mal geschaut, ob alle übergebenen Werte stimmen? weil bei "Sub ListBoxinArray()"
in
"str = str & Application.Index(F1, a, 1)"
übergibt er dir die Werte komplett in einen string, wie trennst du die eingefügten Werte voneinander ab?
lg René
Anzeige
AW: ListBoxAuswahl als Array an Makro übergeben
20.09.2005 17:17:45
R.Schmitt
Hej René,
mit F8 durchlaufen habe ich schon. Deshalb schrieb ich auch:
"Das Problem ist,das scheinbar schon der Array selbst nicht richtig
erstellt wird und deshalb im Seitenfeld auch alles bis auf das erste
Element des Arrays verschwunden ist. "
An der sinnvollen Trennung bin ich bisher auch gescheitert.
Müßte wohl so aussehen :
str = str & Application.Index(F1, a, 1)&","
oder ?
Phuhhh....ich bin bald völlig verbrettert !
Gruß
R.Schmitt
Anzeige
AW: ListBoxAuswahl als Array an Makro übergeben
20.09.2005 17:21:03
René
Also wenn du es trennst, dann kannst du im nachhinein über myArray = splitt(String,",") splitten, was dir direkt ein array zurück gibt mit index 0 am anfang und myArray.ubound als end index
aber vorsicht, myArray nicht als Array deklarieren sondern als simplen String...
lg René
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige