Results 1 to 4 of 4

Thread: [RESOLVED] Close Specific WorkBook - Excel VBA

  1. #1

    Thread Starter
    I'm about to be a PowerPoster! Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,333

    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?

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

    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
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,710

    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!
    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 i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  4. #4

    Thread Starter
    I'm about to be a PowerPoster! Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,333

    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?

Posting Permissions

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



Click Here to Expand Forum to Full Width