Excel to nie tylko narzędzie do przechowywania danych firmy i księgowości. Jego moc polega na tym, że służy do klasyfikowania i zarządzania prawie wszystkim w prosty i szybki sposób. Możemy tworzyć agendy, ćwiartki pracy, książki adresowe, szablony faktur, listy obecności ... Jednak Excel nie pozwala nam organizować arkuszy skoroszytów, co jest bardzo przydatne podczas pracy z długimi książkami. Ale możemy automatycznie sortować zakładki Excela za pomocą makra w kodzie Visual Basic . Wyjaśniamy, jak to zrobić krok po kroku.
Słowa „makro w kodzie Visual Basic” mogą onieśmielać, ale wszystko jest prostsze niż się wydaje. Makro to mały program, który wykonuje za nas szereg działań w Excelu i służy do automatyzacji powtarzalnych zadań . Makra są napisane w kodzie Visual Basic for Applications (lub VBA), języku programowania, który umożliwia dostęp i rozszerzanie funkcji programu Excel.
Edytor Visual Basic
Aby stworzyć nasze makro, musimy otworzyć dowolny skoroszyt w Excelu, a im więcej ma zakładek, tym lepiej.
Aby otworzyć edytor VBA, używamy skrótu klawiaturowego Alt + F11 . Po pojawieniu się okna edytora wyszukujemy określony skoroszyt programu Excel o nazwie Personal.xls . Ten skoroszyt ma tę właściwość, że cokolwiek w nim zrobimy, wpłynie na wszystkie skoroszyty . Oznacza to, że jeśli stworzymy makro, możemy go używać w dowolnym momencie.
Jeśli nie możesz znaleźć książki osobistej, nie martw się. Wyjdź z edytora, otwórz zakładkę Excel View , rozwiń menu Macros i wybierz Record Macro . Zapisz makro w Osobistej książce makr i rozpocznij nagrywanie. Następnie ponownie wyświetl menu Makra i zatrzymaj nagrywanie. Masz już swoją „specjalną” książkę.
Teraz mamy wszystko gotowe do stworzenia nowego modułu . Otwieramy edytor VBA za pomocą Alt + F11 , wybieramy książkę Personal.xls, a następnie klikamy Wstaw> Moduł . Umieszczamy kursor w oknie modułu i piszemy następujący kod:
Sub SortSheets_Ascendant ()
Dla a = 1 do liczby arkuszy
Dla s = a + 1 do liczby arkuszy
Jeśli UCase (Arkusze (a) .Nazwa)> UCase (Arkusze (a) .Nazwa) Następnie
Arkusze (y). Przesuń przed: = Arkusze (a)
Koniec, jeśli
Następne s
Obok
Napis końcowy
Zamykamy okno, a makro zostanie zapisane automatycznie. Pozostaje tylko sprawdzić, czy działa. Otwieramy książkę, której zakładki chcemy posortować, przechodzimy do Widok i klikamy Makra lub wciskamy skrót klawiszowy Alt + F8 . Kliknij dwukrotnie SortSheets_Ascendant , a zakładki książek zostaną natychmiast umieszczone w porządku alfabetycznym .
Gdy zamkniemy Excela, program zapyta nas, czy chcemy zapisać zmiany wprowadzone w makrach. Akceptujemy, a nasze makro zostanie zapisane do użytku z wybraną przez nas książką.
Posortuj arkusze w porządku malejącym
Dzięki kilku drobnym zmianom w kodzie możemy osiągnąć odwrotny efekt: posortuj karty w malejącej kolejności alfabetycznej . Powtarzamy proces tworzenia makra i tym razem wstawiamy następujący kod:
Sub SortSheets_Descending ()
Dla a = 1 do liczby arkuszy
Dla s = a + 1 do liczby arkuszy
Jeśli UCase (Arkusze (a) .Nazwa) <UCase (Arkusze (a) .Nazwa) Wtedy
Arkusze (y). Przesuń przed: = Arkusze (a)
Koniec, jeśli
Następne s
Obok
Napis końcowy
Istnieją tylko dwie odmiany. Pierwsza to oczywiście nazwa makra. Druga to zmiana z> na <w czwartej linii kodu. Oznacza to, że kolejność arkuszy w książce zmieni kierunek . Teraz, gdy klikniesz Widok> Makra (lub skrót Alt + F8 ), zobaczysz dwa nowo utworzone makra. Kliknij dwukrotnie SortSheets_Descending i sprawdź z satysfakcją jego efekt.
Zapisując zmiany przy wychodzeniu z Excela, będziemy mieć te dwa makra dostępne w dowolnym momencie . Zaoszczędzą nam wiele czasu i wysiłku podczas obsługi zakładek skoroszytów programu Excel, które są szczególnie obszerne.