次のサブラインの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(2〜3に1、1)'あなたの計算を容易にするために、 –
[Variantデータ型](httpsを使用することができます:// MSDNを
は
Value
せずにこれをやって考えてみましょう。 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は実行時にプロパティを解決します。 –