Excel: evidenziare una riga scorrendo con le frecce

Super MarkeTHINK: tutto ciò che serve per far crescere il tuo business

Created with Sketch.

Excel: evidenziare una riga scorrendo con le frecce

EXCEL come evidenziare una riga scorrendo con le frecce (VBA)

Excel: scopriamo qual è il codice VBA per evidenziare la riga scorrendo su e giù con le frecce della tastiera

In questo tutorial volevo rispondere a questa domanda: “Potresti dirmi come posso fare a evidenziare la riga scorrendo su e giù con le frecce?”

Per arrivare a questo tipo di risultato dovremo utilizzare il codice Visual Basic, quindi andremo a descrivere una serie di righe di comando molto facili.

Vi ricordo che potete scaricare il file della lezione compilato cliccando sul bottone rosso.

N.B

Visto che parliamo di colori, ho anche posizionato una tabella con una serie di colori con i relativi codici che potrete utilizzare a  vostro piacimento.

Mettiamoci subito al lavoro e andiamo a creare un nuovo file con dei dati in modo da avere qualche cosa su cui lavorare (anche se in realtà non non preclude assolutamente la buona riuscita dell’esercizio).

Possiamo  cominciare con il descrivere la nostra macro (ovvero il nostro elenco di azioni) entrando nell’editor Visual Basic; prima di farlo però andrò a salvare il file dal menu file salva con nome, scegliendo come formato, cartella di lavoro con attivazione macro (altrimenti non  funzionerà un bel niente). Ora possiamo dare la conferma e salvare.

Entriamo nel nostro editor Visual  premendo Alt + F11 e da qui andiamo a scegliere dove dovrà lavorare la nostra azione (foglio 1, foglio 2,  foglio 3 oppure nell’intera cartella di lavoro). Per effettuare la vostra scelta non dovete far altro che fare doppio clic sull’etichetta.

A questo indichiamo l’oggetto della nostra macro: workbook; poi scegliamo l’evento che sostanzialmente determinerà quando verrà scatenata la nostra  azione: SheetSelectionChange (quindi sarà possibile eseguire automaticamente il codice vba ogni  volta  che andremo a effettuare una nuova selezione nel foglio di lavoro, cioè tutte le volte che andremo a cambiare riga con il cursore o con la freccetta).

Cancelliamo le prime due righe che no ci servono più e andiamo a descrivere la nostra macro inserendo il seguente codice.  

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 'Esegue il codice automaticamente a una nuova selezione'

Cells.Interior.ColorIndex = xlNone 'Nessun colore per il fondino'

Target.EntireRow.Interior.ColorIndex = 43 'Assegno il colore all'intera riga'

Target.Interior.ColorIndex = 43 'Assegno il colore alla cella'



End Sub
Excel: codici colori VBA

Un volta incollato il codice potete salvare, uscire dall’editor per tornare al vostro foglio di lavoro.

Ora, quando andate a cliccare o quando andrete a  spostarvi con le frecce, la vostra riga verrà evidenziata e colorata.

Guarda il video tutorial della lezione: evidenziare una riga scorrendo con le frecce

Spero di aver risposto alla domanda e che la lezione  ti sia stata utile. Se sì lasciami un commento (anche per eventuali dubbi e  soprattutto per dirmi che sei passato da me) 🥰

Qui trovi la mia pagina Facebook, se pensi che me lo meriti, supportarmi lasciandomi una recensione o consigliando la pagina, te ne sarò grata! 🙏 🙏 🙏

Seguimi anche su Instagram e Tik Tok per altri contenuti, mi trovi come @graficaeformazione

Grazie mille per studiare con me, buon lavoro! ❤

 

22 risposte

  1. Pierluigi ha detto:

    Buongiorno
    complimenti per il video e la spiegazione
    a me non va mi da questo errore
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range
    errore di compilazione
    come posso risolvere?
    Grazie mille

  2. Maurimai ha detto:

    Grazie per il corso e per la chiarezza delle lezioni.
    Vorrei inserire il codice di questo tutorial in una macro da mettere nella cartella personale, in modo da poterla richiamare in qualunque file excel aperto (quindi anche xlxs).
    Ho provato a copiare il codice all’interno della cartella modulo1 (sottocartella della cartella personale), ma mi dà errore. Se copio il codice nella cartella questa_cartella_di_lavoro (sottocartella della cartella personale), non viene eseguito.
    Ci sarebbe anche un modo per potere attivare questa macro automaticamente, senza doverla richiamare?
    Praticamente la mia esigenza sarebbe quella di avere in tutti i file excel la colorazione dello sfondo delle celle nel momento in cui sono attive, in particolare evidenziare le celle risultanti usando il tasto “trova”.
    Grazie ed ancora complimenti.
    Maurizio

  3. Massimo Baggio ha detto:

    Buongiorno, nel VisualBasic trovo solo WorkSheet e non WorkBook.
    Di conseguenza non trovo il SheetSelectionChange.
    Come posso fare?
    Grazie in anticipo

  4. Silvano Chianucci ha detto:

    ciao , prima di tutto, complimenti .
    Io sono un principiante autodidatta che equivale a “0” ho seguito il tuo tutorial e tutto bene , la cella si colora come desideravo al passaggio del cursore o del mouse , il problema si presenta quando però attivo la protezione al foglio e non funziona più .Io vorrei che nel foglio bloccato mi si colorassero solo le celle sbloccate al passaggio del mouse .
    Scusa la mia scarsa preparazione , ti ringrazio se potrai trovare il tempo per aiutarmi . Silvano

  5. Sandro ha detto:

    Ciao a me non funziona mi dice errorePrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range
    come posso fare? Grazie sei bravissima.

    • francesca ha detto:

      Ciao Sandro,
      solitamente questo errore si verifica quando il codice VBA nel modulo “ThisWorkbook” contiene un errore. Ti consiglio di controllare attentamente il codice VBA (fai bene copia incolla) e occhio a dove incolli i codice (Foglio 1, 2, 3 o cartella)

  6. Sandro ha detto:

    Ciao a me non funziona mi dice errorePrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range
    come posso fare? Grazie sei bravissima.

  7. Marinaio70 ha detto:

    Funziona bene, però mi toglie i colori anche da altre celle che voglio che rimangano del colore assegnato. E’ possibile fare riprendere il colore originale alle celle dopo il passaggio del cursore?
    Grazie
    Fabrizio

  8. TX72 ha detto:

    Bel tutorial semplice e lineare…
    Se poi volessi cambiare il colore del font basterebbe usare “Font” anziché “Interior”…
    Però, ho notato che se ho una tabella già formattata con altri colori (sfondo e font) questi non vengono ripristinati alla perdita del focus… Come si può fare per ripristinarli?

  9. Massimo Guzzardi ha detto:

    Non trovo l’opzione SheetSelectionChange

  10. giovanni63 ha detto:

    salve tutto Ok grazie per i tuoi tips FANTASTICI

  11. Marina Cedillo ha detto:

    wow” ho provato ed è fantastico ma ho una domanda:
    quando scelgo un fogluo anziche l’intero worbook non funziona.
    dipende forse del testo che incollato che all’inizio specifica “worbook ecc ecc…” che magari bisogna modificare con qualche altra parola chiave?

    Sarebbe molto utile poter applicare questa funzione ai signoli fogli anziche tutti i fogli del documento

  12. femilix ha detto:

    Grazie della lezione, molto utile. Ho una domanda:
    una volta impostata la macro mi sparisce tutte le celle che ho precedentemente colorato (colore riempimento) c’è un sistema per mantenerle ?

    grazie

    Marco

Lascia un commento