Ho un'affettatrice denominata "Slicer_HeaderTitle". Devo semplicemente essere in grado di attenuare una variabile in VBA con il valore dell'elemento selezionato. Avrò un solo elemento alla volta.Excel VBA - Restituisce l'elemento selezionato nell'affettatrice
Ho avuto un sacco di problemi con la selezione e la deselezione degli elementi dal mio slicer in modo dinamico tramite VBA, poiché la mia tabella pivot è collegata a un'origine dati esterna. Non so se questo è rilevante per questo esatto esempio, ma questa tabella è connessa alla stessa origine dati esterna.
Avevo una sola riga di codice, che poteva restituire questo valore, ma tutto ciò che ho trovato ora richiede di scorrere ogni elemento nell'affettatrice e controllare se è selezionato o meno. Spero di evitarlo, visto che ho solo 1 elemento selezionato alla volta.
' This is what I'm trying to achieve.
Dim sValue as String
sValue = ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").VisibleSlicerItems.Value
msgbox(sValue)
'Returns: "Uge 14 - 2016 (3. Apr - 9. Apr)"
Stato corrente:
Grazie per la risposta dettagliata. Ho un piccolo problema. Continuo a ricevere il messaggio "Nessun elemento selezionato". – TobiasKnudsen
che non è molto utile, aggiungi un debug.print osi.Name dopo il Per ognuno e controlla se ogni elemento che hai nell'affettatrice è lì, quindi controlla se quello selezionato ha selezionato = vero o no. –
Ho aggiunto un'immagine del mio codice e un errore nella parte inferiore del post originale! – TobiasKnudsen