Laufzeitfehler 13, Typkonflikt in Excel Visual Basic: Behebung

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.

Ausgewähltes Bild min

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 .

Visual Basic min

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

]

erste eine Minute

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.

Sub in dieser Minute

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.

Debug min

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

letzte Minute

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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert