Ten samouczek pokaże, jak używać instrukcji Is Nothing w VBA
VBA Czy nic nie jest stwierdzeniem używa operatora VBA „Jest” i sprawdza, czy obiekt został przypisany do zmiennej obiektu.
123456 | Podrzędny obiekt kontrolnyDim rng jako zakresJeśli rng jest niczym, toMsgbox "Zakres nieprzypisany"Zakończ, jeśliNapis końcowy |
Możemy również użyć Not z Is Nothing z instrukcją If, aby upewnić się, że Range został przypisany do zadeklarowanej przez nas zmiennej zakresu, a następnie uruchomić kod, który chcemy uruchomić, jeśli ta zmienna została przypisana.
1234567 | Sub CheckAssignedObjectDim rng jako zakresUstaw rng = Zakres("A1:A6")Jeśli nie dzwoni to nic, to'' zrób tutaj jakiś kodZakończ, jeśliNapis końcowy |
Możemy użyć instrukcji Is Nothing dla dowolnego typu obiektu. Może to być niezwykle przydatne w zapobieganiu błędom w naszym kodzie, w których obiekt może nie być przypisany do zmiennej obiektu.
Na przykład możemy użyć zmiennej arkusza roboczego i przypisać ją do aktywnego arkusza. Jeśli zrobimy to pomyślnie, możemy wybrać A2 w tym arkuszu.
1234567 | Sub CheckWorksheetObjectDim ws jako ArkuszUstaw ws = Aktywny arkuszJeśli nie, to jest niczymws.Range("A2").WybierzZakończ, jeśliNapis końcowy |
W powyższym kodzie zostanie wybrana komórka A2. Gdybyśmy mieli usunąć linię „Ustaw ws=Aktywny arkusz„, wówczas instrukcja If ominie ten wiersz kodu, a komórka A2 nie zostanie wybrana.
Is Nothing może być również używany w innych aplikacjach Microsoft Office, takich jak PowerPoint, Outlook, Access i Word. Poniższy kod sprawdza, czy obiekt dokumentu został przypisany do aktywnego dokumentu programu Word.
123456789 | Sub CheckDocumentObjectDim wdDoc jako dokumentUstaw wdDoc = ActiveDocumentJeśli wdDoc to nic, toMsgBox "Dokument nieprzypisany"W przeciwnym razieMsgBox "Dokument przypisany"Zakończ, jeśliNapis końcowy |