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