Excel VBA Run-time error '13' Type mismatch

Ich ein makro erstellt für eine Datei und zuerst war es wunderbar funktioniert, aber heute habe ich schon öffnen und starten Sie die Datei-und makro-Hunderte Male und ich bin immer die folgende Fehlermeldung: Excel VBA Run-time error '13' Type mismatch

Ich nichts verändert habe, in der makro und weiß nicht, warum bin ich immer die Fehler. Außerdem es dauert eine Ewigkeit, bis das makro aktualisieren jedes mal, wenn ich es laufen (das makro laufen etwa 9000 Zeilen).

Der Fehler ist in der zwischen ** **.

VBA:

Sub k()

Dim x As Integer, i As Integer, a As Integer
Dim name As String
name = InputBox("Please insert the name of the sheet")
i = 1
Sheets(name).Cells(4, 58) = Sheets(name).Cells(4, 57)
x = Sheets(name).Cells(4, 57).Value
Do While Not IsEmpty(Sheets(name).Cells(i + 4, 57))
    a = 0
    If Sheets(name).Cells(4 + i, 57) <> x Then
        If Sheets(name).Cells(4 + i, 57) <> 0 Then
            If Sheets(name).Cells(4 + i, 57) = 3 Then
                a = x
                Sheets(name).Cells(4 + i, 58) = Sheets(name).Cells(4 + i, 57) - x
                x = Cells(4 + i, 57) - x
            End If
            **Sheets(name).Cells(4 + i, 58) = Sheets(name).Cells(4 + i, 57) - a**
            x = Sheets(name).Cells(4 + i, 57) - a
        Else
        Cells(4 + i, 58) = ""
        End If
    Else
    Cells(4 + i, 58) = ""
    End If

i = i + 1
Loop

End Sub

Glauben Sie, können Sie mir helfen? Ich verwende excel 2010 auf windows 7.
Vielen Dank

  • Wahrscheinlich tun Sie eine if-Anweisung und vergleicht einen string mit doppelten Anführungszeichen. Verwenden ="3" nicht = 3
InformationsquelleAutor Diogo | 2012-01-16
Schreibe einen Kommentar