Ich versuche, ein Makro zum Filtern einer Pivot-Tabelle basierend auf einem benutzerdefinierten Bereich einzurichten.Filtern einer Pivot-Tabelle basierend auf Werten aus einem benutzerdefinierten Bereich
Bisher ist alles, was ich habe, die Aufforderung, die Reichweite zu bekommen. Leider weiß ich nicht, wie ich die Werte aus dem Bereich übernehmen und auf den Filter anwenden soll. Danke für Ihre Hilfe!
Sub foreachloop()
Dim wbmodel As Excel.Workbook
Set wbmodel = ActiveWorkbook
Dim rng As Range
Dim Filter As String
With wbmodel.Sheets("Pivot_model").PivotTables("Modelpivot")
.ClearAllFilters
Set rng = Application.InputBox("select Range", "Inputs", Type:=8)
Filter = Application.InputBox("select Filter", "Inputs", Type:=8)
MsgBox rng.Address
MsgBox Filter
For Each PivotItem In .PivotFields(Filter).PivotItems
Select Case PivotItem.Name
Case rng
PivotItem.Visible = True
Case Else
PivotItem.Visible = False
End Select
Next PivotItem
End With
End Sub
Ok. also habe ich ein paar (kleine) Updates vorgenommen. Ich habe meine erste "For Each" -Schleife gemacht. Jetzt weiß ich, dass ich eine ähnliche "für jede" Schleife machen muss, um den Filter anzuwenden. Ich habe einige Stunden mit dem Code gekämpft und bin mir unsicher, wohin ich als nächstes gehen soll.
Ich bin sue dieser Beitrag hat genau das, was ich brauche, aber um ganz ehrlich zu sein, brauche ich einen Interpreter, um den Lösungscode für mich zu entziffern. Ich glaube, dass ich mit meinem aktuellen Code auf dem richtigen Weg bin. Ich bin mir einfach nicht sicher, wie ich durch den "Rng" fahren soll ... Kannst du mir bei diesem letzten Abschnitt helfen? – VBArookie
Ich denke, der Grund, warum mein Code nicht funktioniert, ist, weil ich den Benutzer einen Bereich eingegeben hatte. Ich muss jetzt die Werte innerhalb des Bereichs durchlaufen. Ich könnte komplett außerhalb der Basis sein und es könnte einen einfacheren Weg geben, dies zu tun. – VBArookie
Sie müssen eine Variable zuweisen. Sie haben also "rng" als Ihre Variable zugewiesen. Aber Sie müssen Ihren Wert für Rng festlegen. wie ... rng = Zellen (n + 1,1) .value https://msdn.microsoft.com/en-us/library/office/ff196273.aspx – gemmo