我在下面的子行中有线tableauScores(i - 1, j).Value = wsScores.Cells(2 + i * 3, j + 1).Value
上的错误424'所需对象'。变体上所需的对象
只有这个子,没有别的。我在基地0.
Dim wsScores As Worksheet
Dim i As Integer, j As Integer
Dim tableauScores As Variant
Set wsScores = ThisWorkbook.Worksheets("Scores")
j = 0
ReDim tableauScores(1, 2)
If wsScores.Cells(2, 1).Value = "Thomas" Then
For i = 1 To 2
For j = 1 To 3
tableauScores(i - 1, j).Value = wsScores.Cells(2 + i * 3, j + 1).Value
Next j
Next i
End If
End Sub
我不明白为什么,我总是使用这样的变体。
你可以使用'使用ReDim tableauScores(1〜2个,1〜3)',使您更容易计算 –
[Variant数据类型(https://开头MSDN。 microsoft.com/en-us/library/office/gg251448.aspx)本身没有属性“Value”。要将值分配给'Variant',您只需将其分配给变量本身。 – dee
@dee主要观点不是'Variant'没有'Value'属性。下面的代码将起作用:'Dim v As Variant:Set v = ActiveWorksheet.Cells(1,1):Debug.Print v.Value';即使变量'v'的类型是'Variant',它所引用的对象也具有'Value'属性,并且VBA将在运行时解析该属性。 –