0

このコードは正しく機能しています:

Sub test_range()
Dim Range1 As Range
Set Range1 = Sheet4.Range("B2:F6081")
End Sub

範囲を変数に変更すると、エラー 1004 が表示されます。

Sub test_range()
Dim Range1 As Range
Set Range1 = Sheet4.Range(Cells(2, 2), Cells(6081, 6))
End Sub

「セルの選択」変換の何が問題になっていますか?

さらに、それを vlookup 関数に適用したいと思います。

For C = 2 To ColNumber

    C4 = C + 4
    For R = 2 To RowNumber
        Set Condition = Sheet1.Cells(R, 2)
        'MsgBox (Condition)
        Set Range1 = Sheet4.Cells(2, 2).Offset(6079, C + 3) 'B2 (row 2 column 2) : F6081 (row 6081 column 6)
        'MsgBox (Range1)
            arg1 = 5
            arg2 = False
        Sheet1.Cells(R, C4).Value = Application.WorksheetFunction.VLookup(Condition, Range1, 5, 0)
    Next R

Next C

範囲をに変更しようとしました

Range1 = Sheet4.Cells(2, 2).Offset(6079, C + 3)

範囲関数は機能しましたが、vlookup 関数 (再び) でエラー 1004 が発生しました

vlookup のいくつかのケースと、バリアントとしての vlookup のすべての暗い結果を読みました。それもやるべきですか?その結果を列の値に入れることはできませんか?

4

1 に答える 1

1

CellsつまりActiveSheet.Cells!したがって、アクティブ シートが Sheet4 でないSheet4.Range(Cells(...場合、エラーが発生します。

Sheet4.Range(Sheet4.Cells代わりに使用してください。

またはさらに良いことに、使用しますSheet4.Cells(2,2).Resize(6080,5)

于 2013-04-09T06:40:02.187 に答える