Błąd czasu wykonania Niezgodność typu 13 w programie Excel Visual Basic: Napraw
Podczas wykonywania kodów Visual Basic w arkuszu kalkulacyjnym Excel mogłeś napotkać komunikat „ Błąd wykonania 13. Niezgodność typu ”. Moduł aplikacji Visual Basic pomaga ulepszyć arkusz kalkulacyjny. Ale, podobnie jak inne kody, w kodach Visual Basic mogą również pojawiać się błędy w czasie wykonywania i jest to całkiem normalne. Postępuj zgodnie z poniższymi zestawami rozwiązań na swoim komputerze, aby naprawić ten błąd Visual Basic w swoim systemie.
Poprawka 1 – Sprawdź typ wartości
Lwia część użytkowników, którzy napotykają ten błąd niezgodności typu, otrzymuje go z powodu nieprawidłowego typu wartości zadeklarowanej w kodzie.
Krok 1 – Będąc w pliku Excel, przejdź do zakładki „ Deweloper ”.
Krok 2 – Później kliknij „ Visual Basic ”, aby załadować podstawowy kod wizualny arkusza.
Możesz też kliknąć przycisk „ Debuguj ” w komunikacie o błędzie wykonania .
Krok 3 – Po otwarciu aplikacji Visual Basic sprawdź wyraźnie kod w prawym panelu.
Krok 4 – Sprawdź zadeklarowane typy zmiennych w kodzie.
[Przykład –
Sub Excel_MisMatch
Dim k jako liczba całkowita
k = „TGP”
MsgBox k
Napis końcowy
Jak widać, k jest tutaj zadeklarowane jako liczba całkowita. Wartość Integer przyjmuje dowolną wartość z zakresu od -2 147 483 647 do 2 147 483 647 . Jednak w następnym wierszu kodu k to „TGP”, co oznacza niewłaściwy typ danych.
Niewielkie poprawienie kodu powinno rozwiązać ten problem –
Sub Excel_MisMatch
Dim k jako liczba całkowita
k = „1”
MsgBox k
Napis końcowy
]
Następnie zapisz zmiany i jeszcze raz uruchom kod VB. Tym razem zostanie on wykonany bez żadnych błędów wykonawczych.
Poprawka 2 – Zmień typ wejścia
Drugim najważniejszym powodem są nieprawidłowe dane wejściowe podczas wykonywania kodu Visual Basic.
Musisz upewnić się, że użytkownicy arkusza wprowadzają poprawny format/typ danych jako dane wejściowe. Na przykład, jeśli zaprojektowałeś fragment kodu w ten sposób –
Sub Excel_MisMatch
Dim k jako ciąg
Dim q Jako liczba całkowita
k = InputBox(„Wprowadź dane uwierzytelniające”)
q = InputBox(„Podaj wiek”)
Teraz musisz się upewnić, że użytkownik nie wprowadził żadnej litery dla zmiennej q , ponieważ jest to liczba całkowita (nie można akceptować znaków jako danych wejściowych).
Poprawka 3 – Użyj narzędzi do debugowania VBA
Istnieje dedykowane narzędzie do debugowania VBA, którego można użyć do debugowania zawartego w nim kodu.
Krok 1 – W programie Microsoft Excel naciśnij jednocześnie klawisze Win+F11 .
Krok 2 – Po załadowaniu modułu Visual Basic w prawym panelu zobaczysz fragment kodu.
Krok 3 – Następnie kliknij raz przed klawiszem Sub.
Krok 4 – Następnie kliknij narzędzie „ Debuguj ” i wybierz operacje Step (takie jak Step in , Step Over , Step Out ), aby debugować kod.
Dodatkowo możesz użyć procedury podrzędnej do debugowania funkcji.
Krok 5 – Powtórz to samo dla wszystkich linii kodu.
Dostosuj podstawowy kod wizualny z terminala i przetestuj go.
Nie pojawi się błąd niezgodności typu w panelu Visual Basic.
Poprawka 4 – Poprawnie odkalkuj operacje
Inną możliwą przyczyną pojawiania się tego typu błędu niedopasowania są źle skonfigurowane operacje użyte w kodzie. Podczas kodowania nie można operować na dwóch innych typach danych jednocześnie.
Przykład –
Sub Excel_MisMatch
Dim k jako liczba całkowita
Dim q jako ciąg
k = „1”
q=”TGP”
MsgBox k*q
Napis końcowy
Ponieważ zmienne to k, q to dwa różne typy danych (k to liczba całkowita, q to ciąg znaków), więc nie można na nich używać funkcji operatora. Sprawdź więc kod Visual Basic i wyeliminuj wszelkie omawiane zdarzenia.
Dodaj komentarz