Błąd czasu wykonania Niezgodność typu 13 w programie Excel Visual Basic: Napraw

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.

wyróżniony obraz min

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 .

podstawowy wizualny min

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

]

pierwsza min

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.

sub w tej min

Krok 4 – Następnie kliknij narzędzie „ Debuguj ” i wybierz operacje Step (takie jak Step in , Step Over , Step Out ), aby debugować kod.

debugowanie min

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

ostatnia minuta

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

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *