Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
668to672
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
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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é
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é

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige