嗨,
目前,我正在尝试自动化一个最耗时的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)")