Vba 宏将vlookup公式放置在同一单元格中,仅在“选择工作表”数组中

Vba 宏将vlookup公式放置在同一单元格中,仅在“选择工作表”数组中,vba,excel,macros,Vba,Excel,Macros,我正在尝试创建一个宏,将vlookup公式放置在同一单元格中,但仅适用于选定的工作表范围(基本上是除前两个工作表外的所有工作表),下面是我的代码: Option Explicit Sub RenameTest() For Each aSheet.Array In ActiveWorkbook.Worksheets aSheet.Array = Sheets(Array("Facility Varian-HM_OH_477417 -", "LTM Income Stat-HM_LA_217368

我正在尝试创建一个宏,将vlookup公式放置在同一单元格中,但仅适用于选定的工作表范围(基本上是除前两个工作表外的所有工作表),下面是我的代码:

Option Explicit
Sub RenameTest()
For Each aSheet.Array In ActiveWorkbook.Worksheets
aSheet.Array = Sheets(Array("Facility Varian-HM_OH_477417 -", "LTM Income Stat-HM_LA_217368 -") _
    ).Select
aSheet.Activate
If aSheet.Name <> "Sheet87" Then
    Dim lookupvalue As String
    Dim formulavalue As String
    lookupvalue = Cells(1, 2).Value
    formulavalue = "=VLOOKUP(" & lookupvalue & ",'Sheet87'!A2:I200;3;FALSE)"
    Cells(1, 4).FormulaLocal = formulavalue
End If

Next aSheet

End Sub
选项显式
子重命名测试()
对于ActiveWorkbook.Worksheets中的每个aSheet.Array
aSheet.数组=表(数组(“贷款Varian-HM_OH_477417-”,“LTM收入统计-HM_LA_217368-”)_
).选择
阿希特,激活
如果是“Sheet87”,那么
作为字符串的Dim lookupvalue
Dim formulavalue作为字符串
lookupvalue=单元格(1,2).值
formulavalue=“=VLOOKUP”(&lookupvalue&“,'Sheet87'!A2:I200;3;FALSE)”
单元格(1,4)。公式局部=公式值
如果结束
下一站
端接头

运行代码时,我得到以下错误:编译错误:变量未定义。对此有任何见解都将不胜感激。

我不知道这是否有帮助

On Error Resume Next    
formulavalue = Application.WorksheetFunction.VLookup(" & lookupvalue & ",'Sheet87'!A2:I200;3;FALSE)
Cells(1, 4).Value = formulavalue

aSheet是在什么地方定义的?在3号线首次使用之前,我没有看到昏暗。假设这不是问题所在,您能告诉我们调试器停在哪一行吗?代码顶部有一行
选项Explicit
,您必须用
Dim
语句声明所有变量。例如
Dim aSheet As Worksheet
。但在我们进一步帮助您之前,您需要澄清代码中的一些内容:查找值是从VLookup公式所在的每个表中获取,还是从一个中心表中获取?第四行是干什么的?这是您命名不应包含的两张图纸的地方吗?如果是这样,那么
的下一个例外是什么?如果aSheet.Name“Sheet87”,那么
?@Ralph Sheet87就是实际进行查找的工作表。问题是我有一个庞大的工作簿,我想在A4格式的每张纸上插入公式,基于A2中的查找值。整个目标比使用间接VBA更改所有选项卡上的名称要好得多,因为工作表选项卡名称的出现方式很难进行加密