Excel strLookup帮助(Dynamnic工作表值)

好日子,我正在尝试使用strLookup从不同的工作簿中运行一个vlookup。 如果工作簿和工作表名称是静态的,它会很好用; 但是我需要插入一个dynamic工作表名称从macros中我定义的string,它不工作

我试了下面

这工作:

strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]40'!A:B" 

这些不工作(试图将工作表名称“40”更改为前面定义的dynamic值(DailyWeek -1)

 strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx](Dailyweek -1)'!A:B" strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]Dailyweek -1'!A:B" 

有任何想法吗? 谢谢

我的整个代码如下:

 Dailyweek = Workbooks("AR Reporting Tool.xlsm").Worksheets("Reports").Range("G30") Dim sh As Worksheet, flg As Boolean For Each sh In Worksheets If sh.Name Like (Dailyweek - 1) Then flg = True: Exit For Next If flg = True Then 'MsgBox "Found!" wbk4.Sheets("UAE").Activate With wbk4.Sheets("UAE") Set clDest = .Range("N2") Set clLookup = .Range("A2") strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[UAE FM.xlsx](Dailyweek -1)'!A:B" End With If clLookup.Offset(1, 0) <> vbNullString Then rws = Range(clLookup, clLookup.End(xlDown)).Rows.Count Set clDest = clDest.Resize(rws, 1) End If clDest.Formula = "=IFERROR(VLOOKUP(" & clLookup.Address(False, False) & "," & strLookup & ",2,0),0)" clDest.Value = clDest.Value ' Convert to value else msgbox "Doesnt exist" end if 

你只需要正确地构build你的string。
也许这样的事情?

 strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File" _ & "\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]" _ & (Dailyweek -1) & "'!A:B"