Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excelvba中vlookup的动态范围_Vba_Excel - Fatal编程技术网

excelvba中vlookup的动态范围

excelvba中vlookup的动态范围,vba,excel,Vba,Excel,我正在寻找一种可能性,以设置一个动态范围。 问题是Excel不接受键入。 对于每个a,应查看矩阵的五行。 vlookup使用的是固定范围,如“E43:AT47”,但不适用于组合范围 Range_Zeile_Start = 5 * a - 12 Range_Zeile_End = 5 * a - 8 Range_Count = "R" & Range_Zeile_Start & "C5:R" & Range_Zeile_End

我正在寻找一种可能性,以设置一个动态范围。 问题是Excel不接受键入。 对于每个a,应查看矩阵的五行。 vlookup使用的是固定范围,如“E43:AT47”,但不适用于组合范围

        Range_Zeile_Start = 5 * a - 12
        Range_Zeile_End = 5 * a - 8
        Range_Count = "R" & Range_Zeile_Start & "C5:R" & Range_Zeile_End & "C46"

        Fahrzeit_kk = Application.WorksheetFunction.VLookup(Cells(1, b).Value, Range_Count, 42, False)

您需要设置正确的量程

见下面的代码:

Dim VlookRng As Range

Range_Zeile_Start = 5 * a - 12
Range_Zeile_End = 5 * a - 8

' set up the Range for the Vlookup
Set VlookRng = Range(Cells(Range_Zeile_Start, 5), Cells(Range_Zeile_End, 46))
Fahrzeit_kk = Application.WorksheetFunction.VLookup(Cells(1, b).value, VlookRng, 42, False)

在单独的单元格中尝试该公式。。问题在于
Range\u Count
,当
a=3
时,地址
R3C5:R7C46
的含义是什么?那个地址没有意义。另外,您正在查找列
42
,而您的列来自
C:R
(?)@bulbus-我认为这是RC符号。如果你不能使用RC符号,那就简单多了。我同意,问题在于范围计数。对于a=3,vlookup的范围应为“E3:AT7”,对于a=4,其范围应为“E8:AT12”,依此类推。我尝试了几种打字方式来组合范围,但excel不接受其中一种@延髓