繁体   English   中英

从不同的工作表和vlookup函数设置范围

[英]Set a range from different worksheet and vlookup function

此代码正常工作:

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的每个模糊结果作为一种变体。 我也应该这样做吗? 我不能只是将结果放在列的值上吗?

Cells表示ActiveSheet.Cells 因此,如果您的活动工作表不是Sheet4, Sheet4.Range(Cells(...将给您一个错误!

使用Sheet4.Range(Sheet4.Cells代替。

甚至更好,请使用Sheet4.Cells(2,2).Resize(6080,5)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM