SlicerItem = nothing aber warum?
20.04.2016 11:13:33
Patrick
ich habe mir kürzlich ein paar Zeilen geschrieben, die alle Slicer in einer Mappe auslesen und die eingestellten "Parameter" auf ein Label schreiben. Das funktionierte auch tippitoppi. Nun habe ich die Slicer alle rausgeworfen und durch neue ersetzt. Die ersten Slicer(als das Programm noch lief) bezogen sich einfach auf eine Tabelle. Die neuen Slicer beziehen sich auf ein Datenmodell und nun funktioniert mein Code nicht mehr und ich kann es mir nicht erklären. Hier der Code:
Private Sub Worksheet_Activate()
Dim objSlicerCache As SlicerCache, strMsgTxt As String, objItem As SlicerItem
Dim arrItems(), intJ As Integer
Dim wks As Worksheet, Spalte As Long, SpaltenTitel, GetSelectedSlicerItems As String
strMsgTxt = ""
GetSelectedSlicerItems = ""
'Datenschnitte in Arbeitsmappe abarbeiten
For Each objSlicerCache In ActiveWorkbook.SlicerCaches
intJ = 0
' Einstellungen des Datenschnitts auswerten/anzeigen
With objSlicerCache
strMsgTxt = strMsgTxt & .Name & ": "
For Each objItem In .SlicerItems 'hier bekomme ich nun Laufzeitfehler 1004 '"Anwendungs- _
oder objektdefinierter Fehler"
If objItem.Selected Then
GetSelectedSlicerItems = GetSelectedSlicerItems & objItem.Name & ", "
intJ = intJ + 1
ElseIf objItem.HasData = False Then
intJ = intJ + 1
End If
Next
If Len(GetSelectedSlicerItems) > 0 Then
If intJ = .SlicerItems.Count Then
GetSelectedSlicerItems = "Alle"
Else
GetSelectedSlicerItems = Left(GetSelectedSlicerItems, Len( _
GetSelectedSlicerItems) - 2)
End If
Else
GetSelectedSlicerItems = "Ohne Werte"
End If
strMsgTxt = strMsgTxt & GetSelectedSlicerItems & vbLf
GetSelectedSlicerItems = ""
End With
Next
Suchkrit.Caption = strMsgTxt
End Sub
Hat jemand eine Idee, warum das jetzt passiert und vorher nicht? Vielen Dank schon einmal im Voraus!
Beste Grüße
Patrick