|
录制了一个涉及到三个文件的宏,录下来的语句是这样的:
'使用VLOOKUP函数与上个月数据比对
Windows("本月服开COMM.xls").Activate
Sheets("生产库比统一模型多的表01").Select
Range("F1").Select
ActiveCell.FormulaR1C1 = "新增"
Range("F2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[上月服开COMM.xls]生产库比统一模型多的表01!C4,1,0)"
Selection.AutoFill Destination:=Range("F2:F800")
Range("F2:F800").Select
因为处理流程很长,而且涉及的三个文件需要更换的,我想把这三个文件参数化,因此加了这个定义变量语句:
Dim LastMonth As String, ThisMonth As String, Reason As String
LastMonth = "上月服开COMM.xls"
ThisMonth = "本月服开COMM.xls"
Reason = "服开COMM全量原因.xls"
然后上面的脚本就改成了:
'使用VLOOKUP函数与上个月数据比对
Windows(ThisMonth).Activate
Sheets("生产库比统一模型多的表01").Select
Range("F1").Select
ActiveCell.FormulaR1C1 = "新增"
Range("F2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[LastMonth]生产库比统一模型多的表01!C4,1,0)"
Selection.AutoFill Destination:=Range("F2:F800")
Range("F2:F800").Select
然后现在到 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[LastMonth]生产库比统一模型多的表01!C4,1,0)"这里就不能像之前那正常跑下去了,而是打开一个选择打开文件的窗口,就是说找不到 “上月服开COMM.xls”这个对象了,这个对象是内嵌在VLookup函数里的,应该要怎么写才对呢?求助解决方法,谢谢!
你改成这样试试呢:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[" & LastMonth & "]生产库比统一模型多的表01!C4,1,0)"
|
|