Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Utrata makr po zamknięciu pliku

Termin Definicja
Utrata makr po zamknięciu pliku

Utrata makr po zamknięciu pliku wynika zwykle z zapisu dokumentu w formacie nieobsługującym kodu VBA.

Dlaczego makra znikają po zapisaniu pliku

Utrata makr po zamknięciu pliku wynika najczęściej z zapisania skoroszytu Microsoft Excel w formacie, który nie przechowuje projektu VBA. Standardowy format .xlsx służy do zapisu skoroszytów bez makr. Jeżeli plik zawiera procedury Visual Basic for Applications, a użytkownik wybierze opcję „Skoroszyt programu Excel (*.xlsx)”, Excel wyświetli ostrzeżenie, że funkcje języka VBA nie mogą zostać zapisane w tym formacie. Po potwierdzeniu operacji kod makr zostanie usunięty z zapisywanej kopii dokumentu.

Problem może być mylący, ponieważ dane arkusza, formuły, formatowanie i większość obiektów pozostają widoczne po ponownym otwarciu. Znika natomiast kod zapisany w projekcie VBA, a także elementy zależne od makr, takie jak procedury zdarzeniowe arkusza, moduły standardowe, moduły klas oraz formularze użytkownika. Jeżeli oryginalny plik został zamknięty bez zachowania wersji makrozgodnej, odzyskanie usuniętego projektu VBA z samego pliku .xlsx nie jest możliwe, ponieważ format ten nie zawiera tych danych.

Formaty obsługujące kod VBA

W przypadku skoroszytu zawierającego makra należy używać formatu .xlsm, czyli „Skoroszyt programu Excel z obsługą makr”. Ten format zapisuje dane arkusza oraz osadzony projekt VBA. Dla szablonów przeznaczonych do wielokrotnego tworzenia dokumentów stosuje się format .xltm. Jeżeli makro ma być zapisane w skoroszycie binarnym, można użyć formatu .xlsb, który również umożliwia przechowywanie makr VBA. Rozszerzenie trzeba dobierać do rzeczywistego typu pliku, a nie zmieniać ręcznie jego nazwę w Eksploratorze Windows.

Starszy format .xls także może przechowywać makra, ale opiera się na wcześniejszym, binarnym formacie skoroszytu Excel 97–2003. Samo dopisanie lub usunięcie końcówki nazwy, na przykład zmiana „raport.xlsx” na „raport.xlsm”, nie konwertuje zawartości i nie przywraca kodu VBA. Prawidłowa konwersja odbywa się w Excelu przez polecenie „Zapisz jako” i wybór właściwego typu pliku. Przed zamknięciem dokumentu warto sprawdzić rozszerzenie widoczne na pasku tytułu lub w oknie właściwości pliku.

Jak sprawdzić i zabezpieczyć makra

Po zapisaniu dokumentu w formacie .xlsm można otworzyć edytor Visual Basic skrótem Alt+F11 i sprawdzić, czy w projekcie nadal znajdują się moduły oraz procedury. W oknie „Eksplorator projektu” powinny być widoczne odpowiednie elementy skoroszytu, takie jak „Microsoft Excel Objects”, „Modules” lub „Forms”. Należy również zamknąć plik, ponownie go otworzyć i powtórzyć kontrolę, ponieważ część problemów ujawnia się dopiero podczas zapisu i ponownego ładowania dokumentu.

Podczas zapisywania trzeba zwracać uwagę na komunikat o funkcjach, których nie można zapisać w wybranym formacie. Kliknięcie opcji zachowującej bieżący format może doprowadzić do usunięcia makr, natomiast wybór formatu obsługującego makra pozwala zachować kod. Dobrą praktyką jest tworzenie kopii pliku przed zmianą typu dokumentu oraz przechowywanie kolejnych wersji pod różnymi nazwami. Jeżeli makra zniknęły, należy odszukać wcześniejszą kopię .xlsm, załącznik wiadomości, plik z kopii zapasowej albo poprzednią wersję dokumentu. Warto też sprawdzić, czy makro nie było zapisane w skoroszycie osobistym makr PERSONAL.XLSB, który jest oddzielnym plikiem od aktualnie edytowanego dokumentu.

Diagnostyka pliku w serwisie komputerowym

Przy diagnozowaniu utraty makr należy najpierw ustalić, jaki format miał plik przed zamknięciem, jaki format ma obecnie oraz czy ostrzeżenie Excela zostało wcześniej zaakceptowane. Następnie można porównać kopie dokumentu, sprawdzić historię wersji i otworzyć zachowany plik makrozgodny w zaufanej, aktualnej instalacji Microsoft Excel. Jeżeli problem dotyczy tylko jednego dokumentu, przyczyną jest zwykle format zapisu albo uszkodzenie konkretnego pliku. Jeżeli makra nie działają w wielu dokumentach, trzeba dodatkowo sprawdzić ustawienia zabezpieczeń makr, lokalizację pliku i sposób otwierania załączników.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może również pomóc ustalić przyczynę problemów z plikami Excela, kopią zapasową dokumentu oraz konfiguracją aplikacji biurowej. Przed przekazaniem komputera warto zachować oryginalne pliki bez nadpisywania ich kolejnymi próbami zapisu. Pozwala to porównać dostępne wersje i ocenić, czy kod VBA znajduje się jeszcze w którymś z zachowanych dokumentów.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę