Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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
Inhaltsverzeichnis

Datenschnitt If Abfrage

Datenschnitt If Abfrage
08.12.2018 21:29:28
Christian
Moin alle zusammen,
gibt es eine Möglichkeit einen Datenschnitt einer Pivot Tabelle eine Abfrage über VBA zuzuweisen?
Je nachdem auf welches Feld der Nutzer Klickt, soll ein anderer Begriff in der Zelle G3 erscheinen.
Leider bekomme ich bei dieser Struktur einen Fehler. Habt Ihr eine Idee?
Beste Grüße
Chris
Option Explicit
Sub Pivot_Lager_Klicken()
With ActiveWorkbook.SlicerCaches("LagerC")
If .SlicerItems("A").Selected Then
.Range("G3").Value = "MSN 85"
ElseIf SlicerItems("B").Selected Then
.Range("G3").Value = "MSN 58"
ElseIf SlicerItems("C").Selected Then
.Range("G3").Value = "MSN 65"
End If
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenschnitt If Abfrage
09.12.2018 03:56:42
fcs
Hallo Chris,
vor ".Range" muss ein Tabellenblatt-Ojekt stehen.
Entweder ActiveSheet oder ein bestimmtes Tabellenblatt.
Außerdem fehlt noch Punkt vor 2 "SlicerItems"
Gruß
Franz
Option Explicit
Sub Pivot_Lager_Klicken()
Dim wks as worksheet
set wks = ActiveWorkbook.Worksheets("Tabelle1")
With ActiveWorkbook.SlicerCaches("LagerC")
If .SlicerItems("A").Selected Then
wks.Range("G3").Value = "MSN 85"
ElseIf .SlicerItems("B").Selected Then
wks.Range("G3").Value = "MSN 58"
ElseIf .SlicerItems("C").Selected Then
wks.Range("G3").Value = "MSN 65"
End If
End With
End Sub

Anzeige
Beispielmappe
09.12.2018 11:26:58
Christian
Vielen Dank für deine Unterstützung Franz.
Jetzt läuft der Code zwar durch aber sobald ich im Datenschnitt auf einen der drei Buchstaben klicke, bleibt die Datenschnitt eingefroren. Das heisst ich kann ab diesen Moment klicken wie ich möchte, er nimmt keine weiteren Eingaben an.
Anbei meine Beispielmappe.
https://www.herber.de/bbs/user/125979.xlsm
Vielen Dank und beste Grüße
Christian
Hat wirklich keiner eine Idee? :(
09.12.2018 20:11:46
Christian
Hat wirklich keiner hier eine Idee, wie ich es schaffe, eine IF Abfrage in einen Datenschnitt zu integrieren?
AW: Hat wirklich keiner eine Idee? :(
11.12.2018 02:14:49
fcs
hallo Christian,
man darf das Makro nicht mit dem Slicer-Element verknüpfen. Dann wird das Slicer-Element blockiert.
Das Makro muss ausgeführt werden, nachdem die zugehörige Pivot-Tabelle aktualisiert wurde.
Dafür gibt es ein entsprechendes Ereignis-Makro, das unter dem Tabellenblatt mit dem Pivotbericht eingefügt werden muss.
Gruß
Franz
'Ereignismakro unter Tabellenblatt "pivot"
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Pivot_Lager_Klicken
End Sub
'Makro in einem allgemeinen Modul
Sub Pivot_Lager_Klicken()
Dim wks As Worksheet, objSlicerItem As SlicerItem
Set wks = ActiveWorkbook.Worksheets("Pivot")
With ActiveWorkbook.SlicerCaches("LagerC")
For Each objSlicerItem In .SlicerItems
With objSlicerItem
If .Selected Then
Select Case objSlicerItem.Name
Case "A": wks.Range("G3").Value = "MSN 85"
Case "B": wks.Range("G3").Value = "MSN 58"
Case "C": wks.Range("G3").Value = "MSN 65"
Case Else
wks.Range("G3").ClearContents
End Select
End If
End With
Next
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige