首页 > 解决方案 > 动态 vLookUp

问题描述

我正在尝试自动化销售地图,基本上,我收到当月的销售报告,然后我想在全年报告中过去。问题是 vlookup 在我应用代码的单元格的 RC(参考列)下工作。

目前我每个月都手动替换代码,将相关列更改为 +1,并将 vlookup 中的字母更改为一个。

'before
Range("Y2").Select
ActiveCell.Formula = _
        "=VLOOKUP(RC[-24],'[VNDFIL " & Data & " GP_(E).xlsx]VENDAS'!R10C1:R91C12,3,0)"
'after
Range("Z2").Select
ActiveCell.Formula = _
        "=VLOOKUP(RC[-25],'[VNDFIL " & Data & " GP_(E).xlsx]VENDAS'!R10C1:R91C12,3,0)"

标签: excelvba

解决方案


我实现动态 VLookup 等效项的方式是使用索引/匹配功能和我选择的列的命名范围(这是动态部分)

假设您正在使用标题,您可以实现动态命名范围列,如下所示:

=OFFSET('Sheet1'!$A:$A,0,MATCH("HEADER",'Sheet1'!$1:$1,0)-1)

其中 'HEADER' 是要搜索的标题文本,$1:$1 表示包含标题的行

获得要从中获取数据的列后,您可以使用索引或其他一些功能来访问要提取的数据


推荐阅读