2017-05-18 8 views
0

Ich habe eine Sub erstellt, um einen Wert einer Spalte zu überprüfen und Inhalt eines bestimmten Bereichs zu löschen. Aber wenn ich den Wert auswähle, bekomme ich ständig einen Typ-Mismatch-Fehler. Ich habe die folgenden vier Methoden auch ausprobiert. Das Blatt wird von einer SQL Server-Quelle aktualisiert, und der Datentyp davon ist eine Zeichenfolge. Ich änderte die Daten in der Quelle, um ein int zu sein, aber jetzt zu verwenden. Jede Hilfe wird sehr geschätzt.Excel vba Typ Mismatch Typ 13

Sub abc() 
    Dim var1 As String 
    **var1 = Sheets(Sheet1).Cells(1, "A").Value 
    var1 = Sheets(Sheet1).Cells(1, "A").Text 
    var1 = Sheets(Sheet1).Range("A1").Value 
    var1 = Sheets(Sheet1).Range("A1").Text** 
End Sub 
+0

'Sheets (" Sheet1 ")' unter der Annahme Sheet1 ist der Name. – SJR

+0

ja .. du hast Recht. Irgendwelche anderen Sachen, die ich im Code vermisse? –

+0

Laut http://stackoverflow.com/questions/17359835/what-is-the-difference-between-text-value-and-value2 sollten Sie 'Value2' anstelle von' Value' oder 'Text' verwenden (und definitiv nicht letzteres). Ich muss zugeben, dass ich es nie benutzt habe, aber vielleicht sollte ich meine Wege verbessern. – SJR

Antwort

0

Versuchen Sie den var1-Typ von String zu Range oder Variant zu ändern.

0

Vielen Dank für alle Kommentare zur Verfügung gestellt. Das Problem wurde behoben. Angegebene Kurse um Geändert var1 = Sheets (Sheet1) .Range ("A1"). Wert