Search code examples
excelexcel-2010multiple-monitors

Move worksheet to a new window


I was wondering if it is possible to avoid the general behavior of MS Excel 2010 when opening a new document while one instance of the program is already running. Basically what happens is that the program opens the new spreadsheet in the current environment, as a new workbook.

What I would like to do is to set as default (or find an easy and quick way to do it with a keyboard short-cut / Macro) the opening of the a new workbook in a new instance of MS Excel.

The final goal is to allow me to keep one workbook in one monitor and move the second one in a second monitor (I'm working with 2 monitors at work).


Solution

  • Yes.

    If you want to do this in VBA code, then you can use the following:

    Sub OpenInNewInstance()
        Dim xlApp As Application
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Workbooks.Add
        xlApp.Visible = True
    End Sub
    

    For a none VBA solution you can open up two instances of excel and open a document from the file menu in each instance.

    There is this method I found on SuperUser for opening all sheets in new instances of Excel

    In Excel 2003, go to Tools -> Options -> General tab.
    
    Make sure the option, ‘Ignore other applications’ is checked.
    
    In Excel 2007 & 2010, Click the Office button -> Excel Options -> Advanced.
    
    Under General, check ‘Ignore other applications that use Dynamic Data Exchange’.
    

    https://superuser.com/questions/21602/open-excel-files-in-new-window


    Or you can make a registry edit (probably want to back up first)

    strart - run - regedit:
    
    Left column
    
    HKEY_CLASSES_ROOT/Excel.Sheet.8/shell/Open/commend:
    
    Right column {adding (space)"%1"}
    
    Double Click on (Default) and write - "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e "%1"
    
    Right Click on Command – choose "rename" and add something to the name  - for example 2 (commend2).
    
    Left column
    
    HKEY_CLASSES_ROOT/Excel.Sheet.8/shell/Open/ddeexec:
    
    Right Click on the folder ddeexec and choose "rename" and add something to the name  - for example 2 (ddeexec2)
    
    Left column
    
    HKEY_CLASSES_ROOT/Excel.Sheet.12/shell/Open/commend:
    
    Right column {adding (space)"%1"}
    
    Double Click on (Default) and write - "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e "%1"
    
    Right Click on Command – choose "rename" and add something to the name  - for example 2 (commend2).
    

    Also depending on what version of Excel you are using there may be an option in the View Menu to open a new Window.

    Source