[RESOLVED] Close Specific WorkBook - Excel VBA-VBForums
Results 1 to 4 of 4

Thread: [RESOLVED] Close Specific WorkBook - Excel VBA

  1. #1

    Thread Starter
    Super Moderator Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,335

    Resolved [RESOLVED] Close Specific WorkBook - Excel VBA

    I have two workbooks open (actually, they are two completely separate Excel Files - those are workbooks, right?) I want to close one of them but not both of them.

    WorkBooks.Close Book2 gives me an error of "Wrong number of arguments or invalid property assignment"

    I looked up Workbooks.Close and find that it does not have, or require, any arguements.....(which would make sense given the error), it just closes everything that is open.

    As mentioned, I don't want both files to be closed, just one of them.

    So, how would I do that?
    Please use [Code]your code goes in here[/Code] tags when posting code.
    When you have received an answer to your question, please mark it as resolved using the Thread Tools menu.
    Before posting your question, did you look here?
    Got a question on Linux? Visit our Linux sister site.
    I dont answer coding questions via PM or EMail. Please post a thread in the appropriate forum section.

    Creating A Wizard In VB.NET
    Paging A Recordset
    What is wrong with using On Error Resume Next
    Good Article: Language Enhancements In Visual Basic 2010
    Upgrading VB6 Code To VB.NET
    Microsoft MVP 2005/2006/2007/2008/2009/2010/2011/2012/Defrocked

  2. #2
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    37,139

    Re: Close Specific WorkBook - Excel VBA

    Quote Originally Posted by Hack
    I have two workbooks open (actually, they are two completely separate Excel Files - those are workbooks, right?)
    Correct.
    As mentioned, I don't want both files to be closed, just one of them.

    So, how would I do that?
    Use the Close method of the specific WorkBook object, rather than the WorkBooks collection, eg: Book2.Close
    (if it has been changed since it was last saved, set the "SaveChanges" parameter to false, otherwise you will get a message asking if you want to save).

  3. #3
    Super Moderator RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,100

    Re: Close Specific WorkBook - Excel VBA

    Like Si mentioned, its a collection of workbooks so you can use the index as that is what it is puking about in the error.
    Code:
    Workbooks(2).Close SaveChanges:=False
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Star Wars Gangsta Rap Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 300 GB HDs, 2 GBs DDR2 667 MHz RAM, 2 Viewsonic 24" LCDs, Windows 7 SP-1/Windows 8.1, Office 2010, VS 2013

  4. #4

    Thread Starter
    Super Moderator Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,335

    Re: Close Specific WorkBook - Excel VBA

    Quote Originally Posted by si_the_geek
    Correct.
    Use the Close method of the specific WorkBook object, rather than the WorkBooks collection, eg: Book2.Close
    (if it has been changed since it was last saved, set the "SaveChanges" parameter to false, otherwise you will get a message asking if you want to save).
    Yepper, that worked.
    Quote Originally Posted by RobDog888
    Like Si mentioned, its a collection of workbooks so you can use the index as that is what it is puking about in the error.
    Code:
    Workbooks(2).Close SaveChanges:=False
    Where you been?
    Please use [Code]your code goes in here[/Code] tags when posting code.
    When you have received an answer to your question, please mark it as resolved using the Thread Tools menu.
    Before posting your question, did you look here?
    Got a question on Linux? Visit our Linux sister site.
    I dont answer coding questions via PM or EMail. Please post a thread in the appropriate forum section.

    Creating A Wizard In VB.NET
    Paging A Recordset
    What is wrong with using On Error Resume Next
    Good Article: Language Enhancements In Visual Basic 2010
    Upgrading VB6 Code To VB.NET
    Microsoft MVP 2005/2006/2007/2008/2009/2010/2011/2012/Defrocked

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Featured


Click Here to Expand Forum to Full Width

Survey posted by VBForums.