Evidenziare cella attiva in Excel VBA
Di seguito vedremo un programma in Excel VBA che evidenzia la riga e la colonna della cella attiva (cella selezionata). Questo programma sarà stupire e impressionare il vostro capo.
Situazione:
Ogni volta che cambia la cella attiva di Sheet1, una macro deve essere eseguito. È possibile raggiungere questo obiettivo la creazione di un Evento SelectionChange foglio di lavoro.
-
Aprire il Visual Basic Editor.
-
Fare doppio clic su Sheet1 (Foglio1) in Esplora progetti.
-
Scegliere foglio di lavoro dall’elenco a discesa sinistra. Scegli SelectionChange dall’elenco a discesa a destra.
Aggiungere le seguenti righe di codice al foglio di lavoro SelectionChange evento:
-
Dichiariamo quattro variabili di tipo Integer. Un nome rowNumberValue, uno di nome columnNumberValue, uno chiamato i e uno di nome j.
Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
-
In primo luogo, si aggiunge la linea che cambia il colore di tutte le cellule sfondo a ‘Nessun riempimento’.
Cells.Interior.ColorIndex = 0
-
inizializzare la rowNumberValue variabile con il numero di riga della cella attiva e la columnNumberValue variabile con il numero di colonna della cella attiva.
rowNumberValue = ActiveCell.row columnNumberValue = ActiveCell.column
-
Evidenziamo l’azzurro colonna. Cioè: tutte le celle con numero di riga minore o uguale al numero di colonna rowNumberValue e uguale a columnNumberValue
For i = 1 To rowNumberValue Cells(i, columnNumberValue).Interior.ColorIndex = 37 Next i
Spiegazione: per questo esempio (vedi foto sopra), rowNumberValue uguale a 12 e columnNumberValue è uguale a 8. Le righe di codice tra For e Next verrà eseguito dodici volte. Per i = 1, colori Excel VBA la cella all’intersezione della riga 1 e colonna 8. per i = 2, colori Excel VBA cella all’intersezione della riga 2 e colonna 8, ecc
Nota: invece di ColorIndex numero 37 (blu), è possibile utilizzare qualsiasi numero di ColorIndex.
-
In modo simile, si segnalano i blu fila. Cioè: tutte le celle con numero di riga pari alla rowNumberValue e numero di colonna minore o uguale a columnNumberValue.
For j = 1 To columnNumberValue Cells(rowNumberValue, j).Interior.ColorIndex = 37 Next j
-
Ora è il momento di testare il programma. Scarica il file di Excel e vedere come la riga e colonna della cella attiva sono evidenziati ogni volta che si cambia la cella attiva.