so habe ich ein einfaches Problem, das ich versuche zu lösen. Ich habe eine Spalte mit Zahlen, die ich als String einlese. Ich möchte dann die Zeichenfolge in eine Long konvertieren und diese in einem Array vom Typ Long speichern.VBA Excel Konvertieren String Array-Element in Long "Typ Mismatch"
habe ich versucht, dies zunächst:
ElseIf stArray(0, i) = "SrcWth" Then
Debug.Print "Found the Width Column"
For j = 0 To UBound(stArray)
whArray(0, j) = CLng(stArray(j, i))
Next j
starray der 2D-Array ist, dass die CSV-Info-Datei hält. Es ist Typ String. whArray ist das 2d-Array, das die zwei Zahlenspalten enthält, die ich haben möchte. Es beklagt sich jedoch über die Typabweichung.
Ich dachte dann vielleicht, dass es etwas Whitespace sehen würde, also versuchte ich es zu trimmen.
ElseIf stArray(0, i) = "SrcWth" Then
Debug.Print "Found the Width Column"
For j = 0 To UBound(stArray)
whArray(0, j) = CLng(Trim(stArray(j, i)))
Next j
Es machte keinen Unterschied. Was mache ich falsch? Ich stelle mir vor, dass es ein Problem mit der CLng hat, also bin ich mir nicht sicher.
Dank
Ja, das war ein Fehler, den ich auf Ihren Vorschlag hin korrigiert habe. Aber ich bekomme denselben Fehler in der gleichen Zeile. – Soolkiki
Haben Sie überprüft, was Sie an 'CLng' übergeben, wenn der Fehler mit dem Debugger auftritt? – arcadeprecinct
Ich habe deine if-Anweisung ausprobiert. Es scheint, dass ich versuche, nichts weiterzugeben, was zu einem Typ-Mismatch führen würde. Das ist komisch. Es gibt definitiv Daten im Array, weil ich alles gut als String ausdrucken kann. – Soolkiki