Microsoft Excel

Herbers Excel/VBA-Archiv

VBA-Laufzeitfehler 13

    Betrifft: VBA-Laufzeitfehler 13 von: KleinKatha
    Geschrieben am: 01.09.2003 14:14:28


    Hallo,

    kann mir vielleicht jemand erklären, was der "Laufzeitfehler '13': Typen unverträglich" zu bedeuten hat?

    Der Fehler trat in folgender Funktion auf:

    For i = 6 To ActiveSheet.UsedRange.Rows.Count
    Cells(i, 4).Value = _
    Application.WorksheetFunction.SumProduct(Worksheets("AT-Teile").Range("Y:Y") = Cells(i, 1).Value, 1)
    Next i

    Danke
    Katha

      


    Betrifft: AW: VBA-Laufzeitfehler 13 von: Nepumuk
    Geschrieben am: 01.09.2003 18:08:03

    Hallo Katha,
    Auszug aus der MSDN-Library:
    Visual Basic kann viele Werte konvertieren und einen bestimmtenDatentyp erzwingen und ermöglicht so Datentypzuweisungen, die in früheren Versionen nicht möglich waren. Dieser Fehler kann jedoch immer noch auftreten, und es gibt dafür die folgenden Ursachen und Lösungen:

    DieVariable oderEigenschaft hat nicht den richtigen Datentyp. Eine Variable, die einen ganzzahligen Wert erwartet, kann zum Beispiel keinen Zeichenfolgenwert akzeptieren, wenn die gesamte Zeichenfolge nicht als Ganzzahl interpretiert werden kann.
    Versuchen Sie, nur kompatibleDatentypen einander zuzuweisen. Zum Beispiel kann ein Integer immer dem Typ Long, ein Single immer dem Typ Double und alle Typen (außerbenutzerdefinierten Typen) dem Typ Variant zugewiesen werden.

    EinerProzedur, die eine einzelne Eigenschaft oder einen Wert erwartet, wurde ein Objekt übergeben.
    Übergeben Sie eine einzelne Eigenschaft, oder rufen Sie eine für das Objekt geeigneteMethode auf.

    Anstelle eines erwartetenAusdrucks wurde der Name einesModuls oder einesProjekts verwendet. Zum Beispiel:
    Debug.Print Modul1

    Geben Sie einen Ausdruck an, der angezeigt werden kann.

    Sie haben versucht, Variant-Werte mit dem Untertyp Error (10, vbError) zusammen mit der in früheren Versionen von Basic verwendeten Fehlerbehandlung anzugeben:
    Error CVErr(n)

    Wenn Sie einen Fehler erneut auslösen müssen, müssen Sie ihn erst in einen systeminternen (oder benutzerdefinierten) Visual Basic-Fehler umwandeln und dann diesen Fehler auslösen.

    Sie können einen CVErr-Wert nicht in den Datentyp Date umwandeln, zum Beispiel:
    Var1 = CDate(CVErr(9))

    Verwenden Sie eine Select Case-Anweisung oder einen ähnlichen Ausdruck, um den Rückgabewert von CVErr in einen solchen Wert umzuwandeln.

    ZurLaufzeit zeigt dieser Fehler in der Regel an, daß ein in einem Ausdruck verwendeter Variant-Wert einen ungültigen Untertyp hat, oder daß ein Variant-Wert, der einDatenfeld enthält, in einer Print #-Anweisung enthalten ist.
    Verwenden Sie zur Ausgabe von Datenfeldern eine Schleife, die jedes Element einzeln ausgibt.

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

    Gruß
    Nepumuk