Wo die Notwendigkeit ReDim vArray(lRow - 1)
ist? Unter vArray = Sh_Te...
werden die Grenzen automatisch gesetzt. Wenn nur ein Wert vorhanden ist, wird nur ein Wert und kein Array zurückgegeben. Aber mit Ihrem ReDim vArray(lRow - 1)
versuchen Sie, einen Wert in ein Array ohne eine Position einzufügen.
Sie können wählen, es wie folgt verwenden:
Dim Sh_Temp As Worksheet
Set Sh_Temp = ThisWorkbook.Sheets("Temp")
lRow = Sh_Temp.Cells(Rows.Count, 1).End(xlUp).Row
Dim vArray As Variant
vArray = Sh_Temp.Range("A2:A" & lRow).Value2
Dann vArray
kein Array sein wird, wenn nur ein Wert zurückgegeben wird, oder es wie folgt tun:
Dim Sh_Temp As Worksheet, lRow As Long, vArray As Variant
Set Sh_Temp = ThisWorkbook.Sheets("Temp")
lRow = Sh_Temp.Cells(Rows.Count, 1).End(xlUp).Row
If lRow <= 2 Then
vArray = Array()
ReDim vArray(1 To 1, 1 To 1)
vArray(1, 1) = Sh_Temp.Range("A2").Value2
Else
vArray = Sh_Temp.Range("A2:A" & lRow).Value2
End If
dann vArray
ein 2D sein -array egal was.
Ein Bereich ist ein 2D-Array wie folgt: 'ReDim vArray (1, lRow - 1)', und 'lrow-1' darf niemals 0 oder niedriger sein. –