Modifica i dati del grafico in base alla cella selezionata

Sommario

Se vuoi creare una dashboard con un grafico che modifica i suoi dati secondo le opzioni selezionate, puoi utilizzare gli eventi in VBA. Sì, si può fare. Non avremo bisogno di alcun menu a discesa, affettatrice o casella combinata. Renderemo le celle cliccabili e modificheremo i dati per creare un grafico dalla cella selezionata.

Segui i passaggi seguenti per creare grafici dinamici in Excel che cambiano in base alla selezione della cella.

Passaggio 1: preparare i dati in un foglio come origine per il grafico.

Qui ho alcuni dati di esempio da diverse regioni in un foglio. L'ho chiamato dati di origine.

Passaggio 2: ottenere i dati di una regione alla volta su un foglio diverso.

  • Ora inserisci un nuovo foglio. Nominalo in modo appropriato. L'ho chiamato "Dashboard".
  • Copia tutti i mesi in una colonna. Scrivi il nome di una regione accanto al mese.
  • Ora vogliamo estrarre i dati della regione nella cella D1. Vogliamo che i dati cambino al variare della regione in D1. Per questo, possiamo usare la ricerca bidirezionale.

Poiché i miei dati di origine sono in A2: D8 sul foglio dati di origine. Io uso la formula sottostante.

=CERCA.VERT(C2,'Dati di origine'!$A$2:$D$8,INCONTRO($D$1,'Dati di origine'!$A$1:$D$1,0))

Qui stiamo usando l'indicizzazione dinamica delle colonne per VLOOKUP. Puoi leggere a riguardo qui.

  • Inserisci un grafico utilizzando questi dati nel foglio Dashboard. Io uso un semplice grafico a linee. Nascondi l'origine del grafico se non vuoi mostrarli.

Ora, mentre cambi il nome della regione in D1, il grafico cambierà di conseguenza. Il passaggio successivo consiste nel modificare il nome della regione in D1 quando si seleziona un'opzione dalla cella specificata.

Passaggio 3: Modificare la regione mentre si seleziona un nome di regione nell'intervallo specificato.

  • Scrivi tutti i nomi delle regioni in un intervallo, li scrivo nell'intervallo A2: A4.

  • Fare clic con il pulsante destro del mouse sul nome del foglio del dashboard e fare clic sull'opzione "Visualizza codice" per accedere direttamente al modulo del foglio di lavoro in VBE in modo da poter utilizzare l'evento del foglio di lavoro.
  • Ora scrivi sotto il codice in VB Editor.
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A2:A4")) Is Nothing Then Range("A2:A4").Interior.ColorIndex = xlColorIndexNone Dim region As Variant region = Target.value In caso di errore GoTo err: Seleziona Case regione Case Is = "Central" Range ("D1").value = region Case Is = "East" Range ("D1").value = region Case Is = "West" Range ("D1"). ").value = region Case Else MsgBox "Invalid Option" End Select Target.Interior.ColorIndex = 8 End If err: End Sub 

Ed è fatto. Ora, ogni volta che selezionerai una cella nell'intervallo A2: A4, il suo valore verrà assegnato a D1 e i dati del grafico cambieranno di conseguenza.

Ho spiegato come funziona questo codice di seguito. Puoi capirlo e apportare modifiche secondo le tue esigenze. Ho fornito collegamenti per aiutare gli argomenti che ho usato qui in questo esempio. Quindi controllali.

Come funziona il codice?

Qui ho usato l'evento di Excel. Ho usato un evento del foglio di lavoro "SelectionChange" per attivare gli eventi.

If Not Intersect(Target, Range("A2:A4")) non è niente allora

Questa riga imposta lo stato attivo sull'intervallo A2:A4 in modo che l'evento SelectionChange venga attivato solo quando la selezione è nell'intervallo A2:A4. Il codice tra If e End verrà eseguito solo se la selezione è nell'intervallo A2:A4. Ora puoi impostarlo secondo le tue esigenze per rendere dinamico il tuo grafico.

Intervallo("A2:A4").Interior.ColorIndex = xlColorIndexNessuno

Questa linea imposta il colore dell'intervallo A2:A4 su zero.

region = Target.value On Error GoTo err: 

Nelle due righe precedenti, otteniamo il valore delle celle selezionate nella regione variabile e ignoriamo qualsiasi errore che si verifica. non utilizzare la riga "On Error GoTo err:" finché non sei sicuro di voler ignorare qualsiasi errore che si verifica. L'ho usato per evitare un errore quando seleziono più celle.

Seleziona regione Case Is = "Central" Range("D1").value = region Case Is = "East" Range("D1").value = region Case Is = "West" Range("D1").value = regione Case Else MsgBox "Invalid Option" End Select 

Nelle righe sopra, stiamo usando Excel Select Case Statement per impostare il valore dell'intervallo D1.

Target.Interior.ColorIndex = 8 End If err: End Sub

Prima dell'istruzione End If, cambiamo il colore dell'opzione selezionata in modo che venga evidenziata. Quindi l'istruzione If termina ed err: inizia il tag. L'istruzione On Error salterà a questo tag se si verifica un errore durante l'istruzione select.

Scarica il file di lavoro qui sotto.

Eventi grafici incorporati utilizzando VBA in Microsoft Excel| Gli eventi dei grafici incorporati possono rendere il tuo grafico più interattivo, dinamico e utile rispetto ai grafici normali. Per abilitare gli eventi in classifica noi…

Gli eventi in Excel VBA |Esistono sette tipi di eventi in Excel. Ogni evento ha un ambito diverso. Evento applicazione si occupa a livello di cartella di lavoro. Cartella di lavoro a livello di fogli. Evento del foglio di lavoro a livello di intervallo.

Gli eventi del foglio di lavoro in Excel VBA|Gli eventi del foglio di lavoro sono davvero utili quando si desidera che le macro vengano eseguite quando si verifica un evento specificato sul foglio.

Eventi della cartella di lavoro utilizzando VBA in Microsoft Excel | Gli eventi della cartella di lavoro funzionano sull'intera cartella di lavoro. Poiché tutti i fogli fanno parte della cartella di lavoro, anche questi eventi funzionano su di essi.

Impedisci l'esecuzione di un'automacro/eventmacro utilizzando VBA in Microsoft Excel| Per impedire l'esecuzione della macro auto_open utilizzare il tasto shift.

Eventi dell'oggetto grafico utilizzando VBA in Microsoft Excel| I Grafici sono oggetti complessi e ci sono diversi componenti ad essi collegati. Per creare gli eventi del grafico utilizziamo il modulo Class.

Articoli popolari:

50 scorciatoie di Excel per aumentare la produttività | Diventa più veloce nel tuo compito. Queste 50 scorciatoie renderanno il tuo lavoro ancora più veloce su Excel.

La funzione CERCA.VERT in Excel | Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare il valore da diversi intervalli e fogli.

CONTA.SE in Excel 2016 | Conta i valori con le condizioni usando questa fantastica funzione. Non è necessario filtrare i dati per contare un valore specifico. La funzione Countif è essenziale per preparare la tua dashboard.

Come utilizzare la funzione SOMMA.SE in Excel | Questa è un'altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave