Kategorie powiązane:

Uruchamianie nowej instancji Excela

HintMine

Jak pracować na Excelu gdy jednocześnie wykonuje się makro?
Czy można uruchomić dwa makra na raz?
Czy makra mogą być wykonywane w tym samym czasie?
Co to jest instancja Excela?
Jak uruchomić dwa osobne Excele?
Jak włączyć dwa edytory VBA?

 

Jeżeli kiedykolwiek zadawaliście sobie takie pytania, ten post jest dla Was!

 

Dziś wyjątkowo będzie bez kodowania (samo klikanie 😉).

 

Miałem ostatnio na szkoleniu pytanie czy dwa makra mogą wykonywać się na raz w tym samym czasie? I jak to zrobić żeby dało się pracować w Excelu podczas gdy jakieś makro długo pracuje? Bo w Excelu 2010 się dało a teraz (w 2013, 2016 itd.) już się nie da…

 

Cytując pewnego starawego już rapera (,który później został politykiem) „Dlaczego Tak Jest?”

 

Ano dlatego, że począwszy od Office 2013 każdy plik, który otwieramy jest „ładowany” do jednej aplikacji/instancji Excela. Czyli w uproszczeniu mamy jeden program Excel i w nim otwartych jest wiele dokumentów. Można to łatwo zobaczyć w Menadżerze zadań Windows, gdzie dla 4 otwartych plików wygląda to tak:

nowa instancja Excela

Microsoft nazwał ten nowy sposób zarządzania plikami Excelowymi SDI (Single Document Interface). To dlatego nie ważne ile skoroszytów otworzycie, wszystkie one będą podpięte pod jeden proces, będą miały jeden edytor VBA, a to z kolei sprawia, że przy uruchomieniu jednego makra nie będzie się dało odpalić kolejnego, do póki to pierwsze nie skończy pracować…

 

Rozwiązaniem byłoby uruchomienie większej ilości procesów/instancji Excela bo wtedy każda instancja będzie niezależna od pozostałych, będzie miała „swój” edytor VBA i będzie mogła wykonywać makro nie patrząc na to co dzieje się w innej instancji 😉.  W menadżerze zadań Windows będzie to wyglądało mniej więcej tak: (zwróćcie uwagę, że przy ikonie VBA na samym końcu mamy napis „running”, który oznacza, że KAŻDY z tych dwóch edytorów wykonuje w tym momencie makro… :)

dwa Excele na raz

Jeżeli spojrzymy na edytor VBA, to będzie to wyglądało następująco:

dwa makra VBA w tym samym czasie

 

Jak widać każda instancja ma swój własny edytor VBA i wykonuje się w nim inny kod. W tym samym czasie!!!

 

Jeżeli takich instancji otworzymy więcej, będziemy mogli uruchomić na raz więcej makr 😉.  Oczywiście można też wykorzystać ten mechanizm w sytuacji gdy mamy jakieś makro które wykonuje się przez np. pół godziny, a my w tym czasie nie możemy pracować. Otwieramy sobie jedną instancję w której otwieramy plik z makrem, uruchamiamy makro a następnie otwieramy drugą instancję z innym plikiem Excela i spokojnie sobie w niej pracujemy 😉

 

Brzmi nieźle? NO TO JAK TO ZROBIĆ?

 

Jak zawsze jest to o wiele prostsze niż się wydaje i mamy na to kilka sposobów 😉

Sposób 1 – kliknięcie w ikonę Excela z wciśniętym jednocześnie klawiszem ALT

– Klikamy w menu start

– Znajdujemy na liście ikonkę Excela

– Zanim klikniesz w ikonę Excela żeby go uruchomić przytrzymaj klawisz ALT

– Jeżeli wykonasz wszystko poprawnie, na ekranie powinien się pojawić następujący komunikat

– Po kliknięciu „TAK” masz otwartą nową instancję Excela 😉

 

Sposób 2 – z wykorzystaniem „wyszukaj”

– Klikamy w ikonę lupki na pasku zadań (lub w nowszych kompilacjach Windowsa w pole wyszukiwania na pasku)

– Wpisujemy tam polecenie „excel.exe /x”

– Naciskamy Enter i nowa instancja Excela pojawia się na naszym ekranie
(tutaj nie będzie już tego irytującego komunikatu, który pojawiał się przy poprzednim sposobie)

 

Sposób 3 – z wykorzystaniem „uruchom” (praktycznie to samo co powyżej)

– Klikamy w startàuruchom lub bardziej pro 😉 sposobem tj. na klawiaturze naciskamy znaczek „Win” + R

– Wklepujemy komendę „excel.exe /x”

– Wciskamy Enter i gotowe
(w tym sposobie też nie pojawi się irytujący komunikat)

 

Sposób 4 – mój ulubiony – stworzenie skrótu na Pulpicie, który otwiera mi nową instancję

Przy tworzeniu trzeba się może troszkę naklikać ale potem używamy sobie go w najłatwiejszy możliwy sposób: klikając w ikonkę na pulpicie 😉

U mnie wygląda to tak:

– Tworzyć skróty w Windowsie chyba każdy potrafi :) (prawy klik myszki–>nowy–>skrót)

– Ale co wpisać w polu „wpisz lokalizację elementu”?
Oczywiście ścieżkę do Excela z odpowiednim parametrem (uważny obserwator domyślił się już pewnie z jakim 😉)

 

U mnie wygląda to tak:/
„C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE” /x
Jeżeli ktoś z Was chciałby samodzielnie znaleźć ścieżkę do swojego Excela to UWAŻAJCIE bo klikając w menu start w ikonę Excela (prawym klikiem) i wybierając więcej–>otwórz lokalizację pliku nie dostaniecie poprawnej ścieżki :(

 

Będzie to wyglądało raczej tak:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs

 

Czyli jest to ścieżka do skrótu który znajduje się w menu start… Żeby poznać prawdziwą ścieżkę do Excela trzeba:
–  wejść w tą lokalizację skrótu czyli: C:\ProgramData\Microsoft\Windows\Start Menu\Programs

– kliknąć w prawym klikiem w znajdującą się tam ikonę Excela i wybrać z menu jeszcze raz „otwórz lokalizację pliku”

 

Teraz dopiero mamy prawdziwą ścieżkę do Excela która u mnie wygląda tak:
„C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE”

 

Tą właśnie ścieżkę (razem z cudzysłowami) wklejamy w polu „wpisz lokalizację elementu” podczas tworzenia skrótu. TYLKO BARDZO WAŻNA RZECZ na samym końcu już po znaku cudzysłowu dodajemy parametr /x bo to on sprawi że pojawi się nam nowa instancja :)

 

Czyli tak jak wspomniałem na początku tego sposobu, cała ścieżka wpisana przy tworzeniu skrótu wygląda u mnie tak:

„C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE” /x

 

 

Mam nadzieję, że Wam się to przyda, bo ja korzystam z tego naprawdę często 😉

Powrót do:
Blog VBA | Podstawy VBA |


Zobacz też: