Typenkonflikt (Fehler 13)

Visual Basic kann zahlreiche Werte konvertieren und umwandeln, um Datentyp-Zuordnungen zu realisieren, die in früheren Versionen nicht möglich waren.

Dieser Fehler kann jedoch weiterhin auftreten. Er hat die folgenden Ursachen und kann wie folgt gelöst werden:

  • Ursache: Die Variable oder die Eigenschaft entspricht nicht dem richtigen Typ. Beispielsweise kann eine Variable, für die ein Ganzzahlenwert erforderlich ist, keine Zeichenfolgenwerte akzeptieren - es sei denn, die gesamte Zeichenfolge kann als Ganzzahl erkannt werden.

Lösung: Nehmen Sie Zuordnungen nur zwischen kompatiblen Datentypen vor. Ein Integer-Wert kann beispielsweise immer einem Long-Wert zugeordnet werden, während ein Single-Wert immer einem Double-Wert und ein beliebiger Typ (außer ein benutzerdefinierter Typ) einer Variante zugeordnet werden kann.

  • Ursache: Es wurde ein Objekt an eine Prozedur übergeben, die eine einzelne Eigenschaft oder einen einzelnen Wert erwartet.

Lösung: Übergeben Sie die entsprechende einzelne Eigenschaft, oder rufen Sie eine für das Objekt geeignete Methode auf.

  • Ursache: Es wurde ein Modul- oder Projekt-Name verwendet, obwohl ein Ausdruck erwartet wurde. Beispiel:

      Debug.Print MyModule 
    

Lösung: Geben Sie einen Ausdruck an, der angezeigt werden kann.

  • Ursache: Sie haben versucht, die herkömmliche Basic-Fehlerbehandlung mit Varianten-Werten zu mischen, die dem Fehler-Untertyp (10, vbError) entsprechen. Beispiel:

      Error CVErr(n) 
    

Lösung: Wenn Sie einen Fehler erneut generieren möchten, müssen Sie ihn einem systeminternen Visual Basic-Fehler oder einem benutzerdefinierten Fehler zuordnen und den Fehler anschließend generieren.

  • Ursache: Ein CVErr-Wert kann nicht in ein Datum konvertiert werden. Zum Beispiel:

      MyVar = CDate(CVErr(9)) 
    

Lösung: Verwenden Sie eine Select Case-Anweisung oder ein ähnliches Konstrukt, um die Rückgabe von CVErr einem solchen Wert zuzuordnen.

  • Ursache: Zur Laufzeit deutet dieser Fehler normalerweise darauf hin, dass eine in einem Ausdruck verwendete Variante einen falschen Untertyp aufweist oder dass eine Variante mit einem Array in einer Print #-Anweisung vorkommt.

Lösung: Wenn Sie Arrays drucken möchten, erstellen Sie eine Schleife, durch die jedes Element einzeln angezeigt wird.

Weitere Informationen erhalten Sie, indem Sie das fragliche Element auswählen und F1 (unter Windows) bzw. HILFE (unter Macintosh) drücken.

Hinweis

Haben Sie Interesse an der Entwicklung von Lösungen, mit denen die Funktionen von Office über mehrere Plattformen erweitert werden können? Schauen Sie sich das neue Office-Add-In-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Sie können sie mit fast jeder Web-Programmiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.