出于某种原因,我无法让下面的宏工作。我想替换嵌套在IF函数中的数据链接中的月份。认为VLOOKUP循环中存在错误,因为没有循环它可以正常工作:
ActiveWorkbook.Sheets("IYM Data-Nat").Activate
Dim Previous_Month As String
Dim Current_Month As String
ActiveWorkbook.Sheets("Dashboard").Activate
Dim i As Integer
For i = 1 To 12
Previous_Month = [VLOOKUP(i,X3:Y14,2,FALSE)]
ActiveWorkbook.Sheets("IYM Data-Nat").Activate
Current_Month = Application.Cells(2, 1)
ActiveSheet.Range("DS8:ED19").Select
Selection.replace What:=Previous_Month, Replacement:=Current_Month, LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End Sub
还尝试过引号:
Previous_Month = "[VLOOKUP(" & i & ",X3:Y14,2,FALSE)]"
没有错误但它不起作用。有人可以帮忙吗?
谢谢。
亲切的问候
答案 0 :(得分:0)
如果您只运行单个工作簿,则不必继续引用它;你想指出的工作表就足够了。
由于 i 未在这些方括号内解析,因此您遇到了麻烦。我建议退出'方括号评估' 模式,然后通过VBA调用工作表函数。
Previous_Month = application.vlookup(i, Sheets("Dashboard").Range("X3:Y14"), 2, False)
如果您决定使用评估路线,可以使用.Evaluate
命令而不是方括号方法构建公式字符串。
Previous_Month = application.evaluate("VLOOKUP(" & i & ", X3:Y14, 2, FALSE)")