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
![utilizzare il metodo delle celle speciali in vba](https://exceladvisor.org/wp-content/uploads/2023/08/1-utiliser-la-methode-des-cellules-speciales-dans-vba.png)
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.
![seleziona le celle con le note](https://exceladvisor.org/wp-content/uploads/2023/08/5-cellules-selectionnees-avec-des-notes.png)
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.
![utilizzando entrambi gli argomenti](https://exceladvisor.org/wp-content/uploads/2023/08/6-en-utilisant-les-deux-arguments.png)
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
![seleziona celle con formattazione condizionale](https://exceladvisor.org/wp-content/uploads/2023/08/7-cellules-selectionnees-avec-mise-en-forme-conditionnelle.png)
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)