在相同的代码中使用不同的工作簿
在代码中引用不同的工作簿时,我一直在使用“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