VBA Vlookup宏编译错误求助:引用关闭工作簿C18单元格出错
修复VLOOKUP宏的编译错误
错误原因分析
原代码存在3个关键语法问题:
- 字符串内的双引号未转义,导致代码解析中断
- VLOOKUP参数格式错误,逗号位置混乱且缺少闭合括号
- 变量引用方式错误,直接在字符串里写
Range("MyRng")无法正确识别VBA变量
修正后的代码
Sub Vlookup() Dim myRng As Range Set myRng = Range("Ledger_Account_2") ' 拼接变量地址到公式,修正参数格式与括号 Range("F15").Formula = "=VLOOKUP('C:\Users\fbdXXXX\Documents\[PRE500KPC90 - BBB Monthly Reclass - 042023.xlsm]Journal Entry'!C18," & myRng.Address & ",2,0)" End Sub
关键修正点
- 给
myRng指定明确类型As Range,提升代码稳定性 - 使用
&拼接myRng.Address,将命名区域的实际地址插入公式字符串 - 补全VLOOKUP公式的闭合括号,修正参数间的逗号位置
- 改用
.Formula属性赋值,比直接赋值更符合VBA规范
内容的提问来源于stack exchange,提问作者Fred Blair
相关产品推荐
相关产品推荐

