Skip to content

Jak sortować karty arkusza roboczego w kolejności alfabetycznej w programie Excel

18 de lipiec de 2021
00 lead image sorting worksheet tabs 1024x469 1

Jeśli masz dużą liczbę arkuszy w skoroszycie programu Excel, znalezienie określonego arkusza może być trudne. Alfabetyczne sortowanie kart arkusza roboczego ułatwiłoby znalezienie tego, czego szukasz.

Oprócz organizowania kart arkuszy roboczych przez stosowanie do nich kolorów, możesz także sortować je alfabetycznie lub alfanumerycznie, o ile do arkuszy zastosowano niestandardowe nazwy. Niestety alfabetyczne sortowanie kart arkusza roboczego nie jest wbudowane w program Excel, ale możesz dodać do skoroszytu makro, które umożliwi sortowanie kart w kolejności rosnącej lub malejącej. Pokażemy Ci, jak dodać makro dostępne w witrynie pomocy technicznej firmy Microsoft do skoroszytu programu Excel, które będzie sortować karty arkusza roboczego.

1626607967 801 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Aby rozpocząć, naciśnij klawisze Alt + F11, aby otworzyć edytor Microsoft Visual Basic for Applications (VBA). Następnie przejdź do Wstaw > Moduł.

1626607967 856 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Skopiuj i wklej następujące makro od Microsoft w wyświetlonym oknie modułu.

Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult

’ Prompt the user as which direction they wish to
’ sort the worksheets.

iAnswer = MsgBox(„Sort Sheets in Ascending Order?” & Chr(10) _
& „Clicking No will sort in Descending Order”, _
vbYesNoCancel + vbQuestion + vbDefaultButton1, „Sort Worksheets”)
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count – 1

’ If the answer is Yes, then sort in ascending order.

If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If

’ If the answer is No, then sort in descending order.

ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub

Edytor VBA automatycznie nazywa każdy moduł numerem na końcu, takim jak Module1, Module2 itp. Możesz po prostu zaakceptować domyślną nazwę modułu. Jeśli jednak planujesz dodać do skoroszytu inne makra, dobrym pomysłem jest zmiana nazwy każdego modułu, aby wiedzieć, czym one są. Zmienimy nazwę naszego modułu, aby pokazać, jak to zrobić.

1626607967 608 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie


Aby zmienić nazwę modułu, zaznacz tekst w polu Nazwa modułu w obszarze Właściwości w lewym okienku.

1626607967 363 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Wpisz nazwę modułu w polu Nazwa i naciśnij klawisz Enter. Zauważ, że nazwa modułu nie może zawierać spacji.

1626607967 882 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Nazwa modułu zmieni się na liście Moduły w obszarze Projekt w lewym okienku.

1626607967 727 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Zamknij edytor VBA, przechodząc do Plik> Zamknij i wróć do programu Microsoft Excel.

1626607967 15 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Teraz uruchomimy makro, aby posortować nasze karty. Naciśnij klawisze Alt+F8, aby uzyskać dostęp do listy makr w oknie dialogowym Makro. Wybierz makro z listy (w naszym przypadku jest tylko jedno makro) i kliknij „Uruchom”.

1626607967 504 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Zostanie wyświetlone następujące okno dialogowe, w którym możesz wybrać, czy chcesz posortować arkusze w kolejności rosnącej, czy malejącej. Chcemy je posortować rosnąco, więc klikamy „Tak”.

1626607968 112 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Karty arkusza roboczego są teraz ułożone w kolejności alfabetycznej.

1626607968 460 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie


Dodane makro jest teraz częścią skoroszytu, ale po jego zapisaniu prawdopodobnie zobaczysz następujące okno dialogowe. Dzieje się tak, ponieważ skoroszyt został zapisany jako plik xlsx, który jest normalnym formatem skoroszytu programu Excel, który nie zawiera makr. Aby uwzględnić makra w skoroszycie i móc je uruchamiać, musisz zapisać skoroszyt jako skoroszyt z obsługą makr lub plik .xlsm. Aby to zrobić, kliknij „Nie” w tym oknie dialogowym.

1626607968 907 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Wyświetlone zostanie okno dialogowe Zapisz jako. Przejdź do miejsca, w którym chcesz zapisać skoroszyt z obsługą makr, jeśli jeszcze nie znajdujesz się w tym folderze. Wybierz „skoroszyt programu Excel z obsługą makr (*.xlsm)” z listy rozwijanej „Zapisz jako typ”.

1626607968 877 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Kliknij „Zapisz”.

1626607968 962 Jak sortowac karty arkusza roboczego w kolejnosci alfabetycznej w programie

Jeśli nie zapiszesz skoroszytu jako skoroszytu z obsługą makr (plik xlsm), dodane makro zostanie usunięte. Możesz chcieć usunąć wersję .xlsx skoroszytu, aby nie zapomnieć użyć wersji .xlsm skoroszytu, jeśli chcesz dodać więcej kart arkusza i posortować je ponownie za pomocą makra. Zawsze możesz ponownie zapisać skoroszyt jako plik xlsx, jeśli nie chcesz już używać makr.

Czy ten post był pomocny?