Błąd ten pojawia się w sytuacji niezgodności typów np. m.in. dodawanie liczby i tekstu itp.
Zabezpieczeniem przed tym błędem jest sprawdzenie czy sumowane wartości to liczby itp. – w zależności od typu danych. Można to zrobić za pomocą którejś z funkcji informacyjnych.
Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku na dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy plik istnieje.
Przykładowy kod może wyglądać tak:
Public Function CzyPlik(Jaki_Adres as String) If Dir(Jaki_Adres) = „” Then
CzyPlik=False
Else
CzyPlik=True End If` End Sub
Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do ścieżki na dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy ścieżka istnieje.
Przykładowy kod może wyglądać tak:
Public Function CzyKatalog(Jaki_Adres as string) If Dir(Jaki_Adres, vbDirectory) = „” Then
CzyKatalog=False
Else
CzyKatalog=True End If` End Sub
Błąd ten pojawia się w sytuacji, gdy wprawdzie kod jest prawidłowy, ale dane będące argumentami np.funkcji arkuszowych odwołują się do błędnych danych w arkuszu.
Dla przykładowego kodu może to wyglądać tak:
Public Sub MojaFunkcja()
Wynik = WorksheetFunction.VLookup(„lipiece”, Worksheets(„Arkusz4”).Range(„A1:B13”), 2, False) End Sub
Podczas wykonania tego fragmentu kodu pojawił się błąd jw., gdyż w tabeli nie ma komórki z wartością „lipiece”. Tu w celi eliminacji błędu można zmienić ostatni argument funkcji VLookup na True (choć tu trzeba uważać). Gorzej jeżeli np.w funkcji pojawi się np.za duża liczba kolumn (większa od ilości kolumn tabeli) – tu zdecydowanie trzeba skorygować kod.
Generalnie każdy przypadek wystąpienia takiego błędu trzeba dokładnie przeanalizować. No i włączyć obsługę błędów, która zabezpieczy kod przed różnymi niespodziankami.
Błąd ten może się pojawić także w przypadku, gdy wystąpi próba zmiany w komórkach zablokowanych i jest włączona ochrona arkusza.