美好的一天 我正在嘗試使用strLookup從其他工作簿運行vlookup。 如果工作簿和工作表名稱是靜態的,它會很好用;不過,我需要從我剛纔在宏定義的字符串插入動態表名稱,它不工作Excel strLookup幫助(Dynamnic工作表值)
我試過下面
這個工程:
strLookup = "'C:\Users\hayekn\Desktop\AR Reports\0MENACA Working File\AR Working File\1- Macro AR reporting\Delta\[test.xlsx]40'!A:B"
這些不工作(試圖將工作表名稱「40」更改爲之前定義的動態值(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
需要更多的代碼。很難說出你在這裏的實際情況。 – 2014-10-09 05:18:39