Sub Driver()
'Highlights driver who have 1 point
Dim driverData ' array variable to hold driver names
driverData = Range("C2:C391").Value
ReDim driverData(390)
MsgBox driverData(3)
虽然Range(“C2:C391”)在工作表中有值,但数组似乎只有空白
因此,使用MsgBox命令,只显示空白
答案 0 :(得分:1)
当您仅使用ReDim
时,您将修改数组中的所有内容。您需要使用ReDim Preserve
来保留数组中的元素。
话虽这么说,你不能简单地将2D数组重新划分为一维数组。你可以这样做:
Sub test()
Dim driverData As Variant
Dim newArray() As String
driverData = Range("C2:C391").Value
ReDim newArray(1 To UBound(driverData, 1))
For i = 1 To UBound(driverData)
newArray(i) = driverData(i, 1)
Next
MsgBox newArray(3)
End Sub
答案 1 :(得分:0)
你可以;
Dim driverData as Variant
driverData = Range("C2:C391")
msgbox driverData(3, 1)
(如你所知,你不能将一个Range.value分配给一个数组,即使你可以将ReDim删除它的内容)