VBA VlookUp带输入不取结果,是代码错误还是数据类型不匹配?

问题描述 投票:0回答:1

你好,请问是什么原因?

目前,我正试图自动化一个最耗时的excel文件.显然VlookUp是问题。

一些背景作为新鲜的VBA开发。

  • 我正在使用inputbox来获取特定的Sheet名称,以便更新我所有的vlookups。是的,这将是每隔几个星期重复出现的问题。而所有的Vlookups,我不能只是手动完成,这将花费时间。

  • 长话短说:Vlookup与Evaluate公式不是获取数据,而是在某些单元格中用心爱的#VALUE!重新编码。

  • 由于我被这个问题卡住了,我想还会有另一个问题,因为我不能在整个范围内拖动这个公式。但这可以用范围来解决,即BS13:BS37020,对吗?但这样一来,Vlookup的第一个参数就会产生问题,因为它会改变。

代码如下。

Dim myValue As Variant

myValue = InputBox("Please enter sheet argument for Vlookup including apostrophe and !")


Worksheets("191207").Range("BS13").Formula = Evaluate("VLOOKUP($C13, """ & myValue & """  $C$2:$CD$92000,14,0)")
'                desired vlookup                                =VLOOKUP($C13,191207!$C$2:$CD$92000,14,0)

公式中的VlookUp和VBA中的有什么不同? 或者请告知如果我的方法是不正确的VlookUp。

先谢谢你了。

excel vba input vlookup
1个回答
0
投票

似乎这是你更想要的。

Dim myValue As Variant

myValue = InputBox("Please enter sheet name")

Worksheets("191207").Range("BS13").Formula = _
           "=VLOOKUP($C13, '" & myValue & "'!$C$2:$CD$92000,14,0)")
© www.soinside.com 2019 - 2024. All rights reserved.