Laufzeitfehler 13, Typkonflikt in Excel Visual Basic: Behebung
Beim Ausführen der Visual Basic-Codes in einer Excel-Tabelle ist möglicherweise die Meldung „ Laufzeitfehler 13. Typkonflikt “ aufgetreten . Das Visual Basic-Anwendungsmodul hilft Ihnen, Ihr Arbeitsblatt zu verbessern. Aber genau wie andere Codes können auch Visual Basic-Codes Laufzeitfehler bekommen, und das ist ziemlich normal. Befolgen Sie diese Lösungssätze auf Ihrem Computer, um diesen Visual Basic-Fehler auf Ihrem System zu beheben.
Fix 1 – Überprüfen Sie den Werttyp
Der Löwenanteil der Benutzer, bei denen dieser Typkonfliktfehler auftritt, liegt daran, dass im Code ein falscher Werttyp deklariert wurde.
Schritt 1 – Gehen Sie in dieser Excel-Datei zur Registerkarte „ Entwickler “.
Schritt 2 – Klicken Sie später auf „ Visual Basic “, um den Visual Basic-Code für das Arbeitsblatt zu laden.
Alternativ können Sie in der Eingabeaufforderung zum Laufzeitfehler auf die Schaltfläche „ Debuggen “ tippen .
Schritt 3 – Überprüfen Sie beim Öffnen der Visual Basic-Anwendung den Code deutlich im rechten Bereich.
Schritt 4 – Überprüfen Sie die deklarierten Variablentypen im Code.
[Beispiel –
Sub Excel_MisMatch
Dim k als Ganzzahl
k = „TGP“
MsgBox k
End Sub
Wie Sie sehen können, wird k hier als Ganzzahl deklariert. Der Integer-Wert nimmt einen beliebigen Wert im Bereich von -2.147.483.647 bis 2.147.483.647 an . Aber in der nächsten Zeile des Codes ist k „TGP“, was der falsche Datentyp ist.
Eine kleine Änderung des Codes sollte das Problem beheben –
Sub Excel_MisMatch
Dim k als Ganzzahl
k = „1“
MsgBox k
End Sub
]
Speichern Sie anschließend die Änderungen und führen Sie den VB-Code erneut aus. Dieses Mal wird es ohne Laufzeitfehler ausgeführt.
Fix 2 – Passen Sie den Eingabetyp an
Der zweithäufigste Grund ist die falsche Eingabe beim Ausführen des Visual Basic-Codes.
Sie müssen sicherstellen, dass die Benutzer des Arbeitsblatts das richtige Format/den richtigen Datentyp als Eingabe eingeben. Wenn Sie das Code-Snippet beispielsweise so entworfen haben –
Sub Excel_MisMatch
Dim k als String
Dimmen Sie q als Ganzzahl
k = InputBox(„Geben Sie die Anmeldeinformationen ein“)
q = InputBox(„Geben Sie das Alter ein“)
Jetzt müssen Sie sicherstellen, dass der Benutzer keinen Buchstaben für die q- Variable eingibt, da es sich um eine Ganzzahl handelt (Zeichen können nicht als Eingabe akzeptiert werden).
Fix 3 – Verwenden Sie VBA-Debug-Tools
Es gibt ein spezielles VBA-Debug-Tool, mit dem Sie den darin enthaltenen Code debuggen können.
Schritt 1 – Drücken Sie in Microsoft Excel gleichzeitig die Tasten Win+F11 .
Schritt 2 – Während das Visual Basic-Modul geladen wird, sehen Sie den Codeausschnitt im rechten Bereich.
Schritt 3 – Klicken Sie als Nächstes einmal vor der Sub-Taste.
Schritt 4 – Klicken Sie anschließend auf das Tool „ Debug “ und wählen Sie die Step-Operationen (wie „Step into “, „Step Over “, „Step Out“ ) aus, um den Code zu debuggen.
Darüber hinaus können Sie eine Unterprozedur auch zum Debuggen der Funktionen verwenden.
Schritt 5 – Wiederholen Sie dasselbe für alle Codezeilen.
Kompilieren Sie den visuellen Basiscode vom Terminal und testen Sie ihn.
Der Fehler „Typkonflikt“ tritt im Visual Basic-Bedienfeld nicht auf.
Fix 4 – Dekalieren Sie die Vorgänge korrekt
Ein weiterer möglicher Grund, warum diese Art von Nichtübereinstimmungsfehler auftritt, sind falsch konfigurierte Vorgänge im Code. Beim Codieren können Sie nicht gleichzeitig zwei andere Datentypen bearbeiten.
Beispiel –
Sub Excel_MisMatch
Dim k als Ganzzahl
Dim q als String
k = „1“
q=“TGP“
MsgBox k*q
End Sub
Da es sich bei den Variablen k und q um zwei unterschiedliche Datentypen handelt (k ist eine Ganzzahl, q ist die Zeichenfolge), können Sie für sie keine Operatorfunktion verwenden. Überprüfen Sie daher den Visual Basic-Code und beseitigen Sie alle besprochenen Vorkommnisse.
Schreibe einen Kommentar