I try again to explain..
You can Open and Set a workbook like these. These all open a workbook. But they will error if the workbook is already open - That is obvious: You cannot open if it is already open!
Code:' http://www.excelfox.com/forum/showthread.php/2421-copy-and-paste?p=13029&viewfull=1#post13029 Sub OpenAndSetWorkbook() Dim Wb As Workbook Workbooks.Open Filename:="C:\ ........ MyFile.xls" ' or Workbooks.Open "C:\ ........ MyFile.xls" ' Workbook "MyFile.xls" is now open ( and active*** ) Set Wb = ActiveWorkbook ' The workbook just opened will be the active*** workbook End Sub Sub SetAndOpenWorkbook() Dim Wb As Workbook ' Open and Set in same code line: Set Wb = Workbooks.Open("C:\ ........ MyFile.xls") ' this will Open and Set in same code line End Sub Sub OpenAndSetWorkbook_() Dim Wb As Workbook Workbooks.Open Filename:="C:\ ........ MyFile.xls" ' or Workbooks.Open "C:\ ........ MyFile.xls" ' Workbook "MyFile.xls" is now open ( and active ) If the workbook is already open , then we can refer to it using the workbooks collection object of open workbooks, Workbooks(" ") Set Wb = Workbooks("MyFile.xls") ' Use workbooks collection object of open workbooks, Workbooks(" ") to reference already open workbooks End Sub
If the workbook is already open , then we can refer to it using the workbooks collection object of open workbooks, Workbooks(" ")
Code:Sub SetToAlreadyOpenWorkbook() ' For this to work, MyFile.xls must already be open Dim Wb As Workbook ' If the workbook is already open , then we can refer to it using the workbooks collection object of open workbooks, Workbooks(" ") Set Wb = Workbooks("MyFile.xls") ' Uses workbooks collection object of open workbooks, Workbooks(" ") to reference already open workbooks End Sub




Reply With Quote

Bookmarks