L'operatore VBA "Is" viene utilizzato per confrontare due riferimenti a oggetti.
Se i riferimenti all'oggetto sono gli stessi, è restituirà VERO. Se i riferimenti all'oggetto sono diversi, è tornerà FALSO.
È niente
L'uso più comune di è L'operatore controlla se un oggetto è stato assegnato a una variabile oggetto.
Puoi vedere come funziona nella procedura seguente:
123456789101112 | Sub non è niente()Dim ws come foglio di lavoro'Imposta ws = ActiveSheetSe non è niente alloraMsgBox "Non assegnato"AltroMsgBox "Assegnato"Finisci seFine sottotitolo |
Questo è utile per prevenire errori causati da un oggetto non assegnato alla variabile oggetto.
Intersect - Non è niente
Comunemente, viene utilizzato con gli eventi di modifica del foglio di lavoro per identificare se l'intervallo di destinazione rientra in un intervallo specificato.
1234567 | Private Sub Worksheet_Change (ByVal Target As Range)If Not Intersect(Target, Range("a1:a10")) non è niente alloraMsgBox "Intersezione"Finisci seFine sottotitolo |
È - Confronta oggetti
L'operatore Is può essere utilizzato anche per confrontare gli oggetti.
Diamo un'occhiata a un esempio. Qui assegneremo due fogli di lavoro agli oggetti del foglio di lavoro rng1 e rng2, verificando se i due oggetti del foglio di lavoro memorizzano lo stesso foglio di lavoro:
12345678910111213 | Sotto ConfrontaOggetti()Dim ws1 come foglio di lavoro, ws2 come foglio di lavoroImposta ws1 = Fogli("Foglio1")Imposta ws2 = Fogli("Foglio2")Se ws1 è ws2 alloraMsgBox "Stesso WS"AltroMsgBox "WS diversi"Finisci seFine sottotitolo |
Ovviamente gli oggetti del foglio di lavoro non sono gli stessi, quindi viene restituito "Different WSs".