Using two separate if-then statements did the trick. But now I have a related problem.
I'm trying to reverse the code in order to *close* the sheets, if they are open. I figured I could use the same code for the Function WorkbookOpen ..., but a new subroutine for closing them: Public Sub CloseSourceDocs() If Not WorkbookOpen("File1.xls") Then Workbooks("File1.xls").Activate ActiveWorkbook.Save ActiveWorkbook.Close End If If Not WorkbookOpen("File2.xls") Then Workbooks("File2.xls").Activate ActiveWorkbook.Save ActiveWorkbook.Close End If End Sub ### If *both* files are opened, the above code works fine. (And I don't know why - if "If Not WorkbookOpen" = True, then the sheet is *not* open and the code should be skipped.) If either or both files are closed, I get: "Subscript out of range" error ... and it points to the Workbooks ... Active statement (of the offending sheet(s)). Any ideas? -- ---------------------------------------------------------------------------------- Some important links for excel users: 1. Follow us on TWITTER for tips tricks and links : http://twitter.com/exceldailytip 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310 3. Excel tutorials at http://www.excel-macros.blogspot.com 4. Learn VBA Macros at http://www.quickvba.blogspot.com 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com <><><><><><><><><><><><><><><><><><><><><><> Like our page on facebook , Just follow below link http://www.facebook.com/pages/discussexcelcom/160307843985936?v=wall&ref=ts