在相同的代码中使用不同的工作簿

在代码中引用不同的工作簿时,我一直在使用“Set Workbooks.Open”。

例:

`Dim wbname1 as Workbook Dim wbname2 as Workbook 'code which refers to wbname1 Set wbname1 = Workbooks.Open("path\filename") 'code which refers to wbname2 Set wbname2 = Workbooks.Open("path\filename")` 

这有时是不方便的,因为为了再次参考先前的工作簿,我将不得不closures工作簿并重新打开它。

例:

 ` 'code which refers to wbname1 Set wbname1 = Workbooks.Open("path\filename") wbname1.Close True 'code which refers to wbname2 Set wbname2 = Workbooks.Open("path\filename") 'code which refers again to wbname1 Set wbname1 = Workbooks.Open("path\filename")` 

我不得不解决这个问题,特别是在循环中使用不同的工作簿时。

有没有更容易的方法来参考不同的工作簿比使用

Set Workbooks.Open()

 Dim book1 as Workbook 

你在这里声明一个types为Workbook的variables。 当您使用Set关键字时,您将分配variables作为参考

 Set book1 = Workbooks.Open("path\filename1")` 

在这里,引用是作为调用Excel.Application.Workbooks.Open (Excel对象模型中的一个函数)的结果返回的,如果操作成功,那么打开工作簿并返回对其打开的工作簿的引用

这有时是不方便的,因为为了再次参考先前的工作簿,我将不得不closures工作簿并重新打开它。

一点也不。 你已经参考了两本练习册 ,你所要做的就是使用它们

 Set book1 = Workbooks.Open("path\filename1") Set book2 = Workbooks.Open("path\filename2") 'work with book1 book1.Sheets(1).Range("A1") = "Hello" 'work with book2 book2.Sheets(1).Range("A1") = "World!" 'all done, clean up now: book1.Close book2.Close