带有输入的VBA VlookUp无法获取结果,是代码错误还是数据类型不匹配



嗨,

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

一些新的VBA开发背景:

  • 我正在使用inputbox获取特定的工作表名称,以便用它更新我的所有vlookup。是的,这种情况每隔几周就会再次出现。对于所有的Vlookup,我不能只手动完成它,这需要很长时间。

  • 长话短说:使用Evaluate公式的Vlookup不是获取数据,而是用心爱的#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有何不同?或者,如果我的VlookUp方法不正确,请告知。

提前谢谢。

这似乎更符合您的要求:

Dim myValue As Variant
myValue = InputBox("Please enter sheet name")
Worksheets("191207").Range("BS13").Formula = _
"=VLOOKUP($C13, '" & myValue & "'!$C$2:$CD$92000,14,0)")

最新更新