Come utilizzare il metodo cellulare speciale?
In VBA, il metodo celle speciali consente di selezionare una cella o un intervallo di celle di un tipo specifico e un tipo di valore specifico. Supponiamo che tu voglia sapere che nell’intervallo A1: A10, quali celle hanno una formula e sono numerate come valore? Bene, puoi ottenere questo risultato con il metodo SpecialCells.
Utilizza il metodo delle celle speciali in VBA
Qui scriviamo il codice per scoprire l’indirizzo dell’ultima cella utilizzata nell’intervallo A1:A10. Si noti che nel metodo cella speciale sono presenti due argomenti, uno dei quali è obbligatorio e l’altro facoltativo.
- Innanzitutto, dichiara una variabile come intervallo per memorizzare l’indirizzo di cella restituito dal codice.
- Successivamente, fare riferimento all’intervallo e utilizzare il metodo “SpecialCells” in cui è necessario specificare l’argomento “Tipo” con “xlCellTypeLastCell”.
- Successivamente, imposta questa riga speciale di codice cella sulla variabile definita nel primo passaggio.
- Da qui è necessario utilizzare una finestra di messaggio VBA per ottenere l’indirizzo della cella restituita tramite il metodo cella speciale.
- Alla fine, utilizza la proprietà indirizzo con la variabile per ottenere l’indirizzo dell’ultimo tipo di cella.
Ecco il codice completo.
Dim myRng As Range Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell) MsgBox myRng.Address
Ora quando esegui questo codice ti verrà mostrata una finestra di messaggio con l’indirizzo della cella che è stata utilizzata (digitata) per ultima. Quindi qui nel mio caso ho usato la cella A10 e lo stesso che ho ricevuto nella finestra di messaggio.
Seleziona le celle con le note
In Excel, i vecchi “Commenti” ora sono “Note”. Quando scrivi il codice per selezionare i commenti, selezionerà le note che hai nell’intervallo specificato. Considera il seguente codice.
Dim myRng As Range Set myRng = _ Range("A1:A10").SpecialCells(xlCellTypeComments) myRng.Select
Usa entrambi gli argomenti
Come ho detto prima, hai due argomenti a favore del metodo SpecialCells. Ora vediamo come utilizzare i due argomenti per selezionare celle che hanno una formula e come il valore restituito dalla formula sia un valore logico.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical) myRng.Select
Ora, quando eseguo il codice sopra, seleziona le celle dall’intervallo da A1 a A11 in cui ho formule e valore logico.
Seleziona celle con formattazione condizionale
Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions) Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)
Seleziona le celle visibili
E puoi anche selezionare il visibile usando la costante “xlCellTypeVisible”. Considera il seguente codice.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible) myRng.Select
Oppure puoi anche usare “12” come valore dell’argomento.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(12) myRng.Select
Celle con convalida dei dati
Range("A1:A11").SpecialCells(xlCellTypeAllValidation) Range("A1:A11").SpecialCells(xlCellTypeSameValidation)