Excel VBA的dynamic目标工作簿

我正在努力制定一个macros观的scheme,将委员会的计算表复制到我的牙科委员会报告中。 问题是我在目的地有一个固定的名字“June Dental Commissions v5.xlsm”。 有没有办法用一个我定义为macros中当前工作簿的variablesreplace“June Dental Commissions v5.xlsm”?

Workbooks.Open Filename:= _ "X:\Customer Service\Dental Reports\Commission Report Calculation\Commission Calculation Tables.xlsx" Sheets(Array("Entire Commission Table", "Zip & Terr List May 2013", _ "Abbreviation Finder")).Select Sheets("Zip & Terr List May 2013").Activate Sheets(Array("Entire Commission Table", "Zip & Terr List May 2013", _ "Abbreviation Finder")).Copy Before:=Workbooks( _ "June Dental Commissions v5.xlsm").Sheets(4) 

 Dim wb as Workbook, fName as string, fPath as string fPath = "X:\Customer Service\Dental Reports\Commission Report Calculation\" fName = "Commission Calculation Tables.xlsx" Set wb = Workbooks.Open(fPath & fName) wb.Sheets(Array("Entire Commission Table", "Zip & Terr List May 2013", _ "Abbreviation Finder")).Copy Before:=ThisWorkbook.Sheets(4) 

如果你的macros不在活动文件中,可以使用Tim的代码

 Dim wb as Workbook, fName as string, fPath as string, wbDest as workbook fPath = "X:\Customer Service\Dental Reports\Commission Report Calculation\" fName = "Commission Calculation Tables.xlsx" set wbDest=activeworkbook Set wb = Workbooks.Open(fPath & fName) wb.Sheets(Array("Entire Commission Table", "Zip & Terr List May 2013", _ "Abbreviation Finder")).Copy Before:=wbDest.Sheets(4) wb.close(false)