3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe im Netz ein Makro zum Filtern von Pivottabellen gefunden. Leider hab ich fast keine Ahnung was VBA angeht.

Ich möchte kann jetzt einzelne Monate selektieren:

Call PivotFilter("MM", Array("8", "9"))


Wie verändere ich den Filter um den Bereich 4 bis 8 zu selektieren?

Danke!!!!

9 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo,

ganz spontan, ohne das probiert zu haben würde ich sagen

Call PivotFilter("MM", Array("4", "5", "6", "7", "8"))


MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Ja, das geht. Hab das auch für Tage. Da kommen dann ein paar Zahlen hinzu :(

Deswegen wollte ich wissen, wie dafür ein Bereich angegeben werden kann.

Das ist die Quelle: www.herber.de/forum/archiv/528to532/t529909.htm
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo,

sorry, verstehe jetzt Deine AW2 nicht. Ist das jetzt eine neue Frage von Dir oder nur eine Erläuterung?

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Nein, das ist die Erläuterung. Hab mich unpassend (schlecht, undeutlich etc.) ausgedrückt.

Ich möchte halt ein Bereich selektieren und hab keine Ahnung wie...

Also halt von 4 bis 8 oder 2 bis 31 usw...
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo,

Du drückst Dich schon wieder undeutlich aus. Ist Deine Frage nun beantwortet oder nicht?

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Nein, ist sie leider nicht.

Ich möchte die Zahlen nicht einzeln eingeben sondern einen Bereich.

Also die Zahlen von... bis...

Call PivotFilter("MM", Array(5 bis 31))

geht das?

Danke für deine Geduld :)
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo,

soweit ich weiß, musst Du dass in einzelnen Zahlen wie in AW1 beschreiben eintragen. Also

Call PivotFilter("MM", Array("5", "6", "7",........... "30", "31"))
100% sicher bin ich mir allerdings nicht, da ich nicht mit Pivot-Tabellen arbeite.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Na gut. Dann muss ich das wohl so tun. Vielen Dank für deine Mühe.
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo,

was Du versuchen könntest, ohne jetzt zu wissen, ob das bei Pivot so auch funktioniert, wären nachfolgenden Zeilen. Diese schreiben Dir die Zahlen 5 bis 31 hochgezählt durch eine Schleife in eine Variable. Diesen Variablenwert übergibst Du dann mit der Split-Anweisung an die Filteranweisung.

Ich habe hier jetzt keine Pivottabelle um das zu testen. Aber wenn man anstelle der Pivottabellen z.B. über die VBA-Codezeilen Tabellenblätter auswählen läßt, funktionierts.

Dim intSheet As Integer
Dim strArray As String
For intSheet = 5 To 31
strArray = strArray & "," & intSheet
Next

strArray = "" & Mid(strArray, 2, Len(strArray)) & ""

Call PivotFilter("MM", Split(strArray, ","))


Eventuell hilft Dir das ja weiter.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...