Informazioni utili nella barra di stato

A qualcuno piace, ma personalmente ho bisogno di una barra di stato solo in 2-3 casi:

  • dopo il filtraggio, mostra il numero di valori rimanenti dopo la selezione
  • quando viene selezionato un intervallo, visualizza la somma, la media e il numero di celle selezionate
  • nel caso di file pesanti, puoi vedere lo stato di avanzamento del ricalcolo delle formule nel libro.

Non tanto per una linea che occupa quasi l'intera larghezza dello schermo e si blocca continuamente. Proviamo ad espandere questo modesto elenco e ad aggiungere alcune funzionalità più utili 🙂

Principi generali per la gestione della barra di stato

Gestire la barra di stato con Visual Basic è molto semplice. Per visualizzare il tuo testo al suo interno, puoi utilizzare una semplice macro:

Sub MyStatus() Application.StatusBar = "Verifica!" Fine Sub  

Dopo averlo eseguito, otteniamo:

Informazioni utili nella barra di stato

Per ripristinare lo stato originale della barra di stato, avrai bisogno della stessa breve "anti-macro":

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Nella versione base, come puoi vedere, tutto è molto semplice. Ora proviamo a sviluppare l'idea...

Indirizzo dell'intervallo selezionato nella barra di stato

 Nell'angolo in alto a sinistra della finestra di Excel nella barra della formula, puoi sempre vedere l'indirizzo della cella corrente. Ma se viene selezionato un intero intervallo, sfortunatamente non vedremo l'indirizzo di selezione lì: viene visualizzata la stessa singola cella attiva:

Informazioni utili nella barra di stato

Per risolvere questo problema è possibile utilizzare una semplice macro che visualizzerà l'indirizzo dell'area selezionata nella barra di stato. Inoltre, questa macro dovrebbe essere lanciata automaticamente, con qualsiasi modifica nella selezione su qualsiasi foglio - per questo la posizioneremo nel gestore dell'evento SelezioneCambia il nostro libro.

Aprire l'editor di Visual Basic utilizzando il pulsante con lo stesso nome nella scheda sviluppatore (Sviluppatore) o scorciatoie da tastiera Alt sinistro+F11. Trova il tuo libro nell'angolo in alto a sinistra del pannello Progetto e apri il modulo in esso contenuto facendo doppio clic Questo libro (Questo quaderno di lavoro):

Nella finestra che si apre, copia e incolla il seguente codice macro:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Ora, quando viene selezionato un intervallo (incluso più di uno!), il suo indirizzo verrà visualizzato nella barra di stato:

Informazioni utili nella barra di stato

Per evitare che gli indirizzi di diversi intervalli selezionati con Ctrl si uniscano, puoi aggiungere un piccolo miglioramento: usa la funzione Sostituisci per sostituire una virgola con una virgola con uno spazio:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

Numero di celle selezionate nella barra di stato

Quando viene selezionato un intervallo, il numero di celle selezionate non vuote viene visualizzato sul lato destro della barra di stato per impostazione predefinita. A volte è necessario conoscere il numero di allocati. Questa attività può essere eseguita anche con una semplice macro per gestire l'evento del libro SelectionChange, come nell'esempio precedente. Avrai bisogno di una macro come:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Each rng In Selection.Areas 'Esegui scorrere tutte le selezioni RowsCount = rng.Rows.Count 'numero di righe ColumnsCount = rng.Columns . Conte 'numero di colonne CellCount = CellCount + RowsCount * ColumnsCount 'accumula il numero totale di celle Next 'visualizza nella barra di stato Application.StatusBar = "Selected: " & CellCount & " cell" End Sub  

Questa macro scorre tutte le aree selezionate Ctrl (se ce ne sono più di una), memorizza il numero di righe e colonne in ciascuna area nelle variabili RowsCount e ColumnsCount e accumula il numero di celle nella variabile CellCount, che viene quindi visualizzata nella barra di stato. Al lavoro sarà simile a questo:

Informazioni utili nella barra di stato

Ovviamente puoi combinare questa e le precedenti macro per visualizzare contemporaneamente sia l'indirizzo dell'intervallo selezionato che il numero di celle. Devi solo cambiare una penultima riga in:

Application.StatusBar = "Selezionato: " & Sostituisci(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " cell"  

Quindi l'immagine sarà davvero meravigliosa:

Informazioni utili nella barra di stato

Beh, penso che tu abbia l'idea. Suggerisci nei commenti: cos'altro sarebbe utile visualizzare nella barra di stato?

  • Cosa sono le macro, come funzionano, come usarle e crearle
  • Comoda selezione delle coordinate su un foglio Excel
  • Come rendere più visive formule complesse

Lascia un Commento