Błąd wykonania 13

kliknij, aby powiększyć

Błąd wykonania 13 – Type mismatch

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

Inne błędy wykonania VBA (Run-time) są tu:
Błędy wykonania VBA

 

Błąd wykonania 53

Błąd wykonania 53 – File not found

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

Inne błędy wykonania VBA (Run-time) są tu:
Błędy kodu wykonania

 

Błąd wykonania 76

Błąd wykonania 76 – Path not found

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

Inne błędy wykonania VBA (Run-time) są tu:
Błędy kodu wykonania

 

Błąd wykonania 5

Błąd wykonania 5 – Invalid procedure call or argument

Błąd ten pojawia się w sytuacji błędnego argumentu funkcji
np. pierwiastek kwadratowy z liczby ujemnej (wymagana jest liczba nieujemna).

Inne błędy wykonania VBA (Run-time) są tu:
Błędy wykonania VBA

 

Błąd wykonania 1004

Błąd wykonania 1004

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. 

kliknij, aby powiększyć