Niestandardowe sortowanie w programie Excel jest bardzo przydatną funkcją. W tym artykule omówimy, jak automatycznie aktualizować niestandardowe sortowanie w zakresie za pomocą Excel VBA.
Korzystając z sortowania niestandardowego, przekonasz się, że jest to niesamowita funkcja programu Excel. Jeśli jednak często korzystasz z tej funkcji, możesz również napotkać problem. Będziesz sortować w zakresie z określonymi danymi i informacjami. Po dodaniu dodatkowych danych i informacji do zakresu kolejność w zakresie nie zmieni się automatycznie. Poniższy obrazek przedstawia przykład takiego stanu.
Dodanie nowego zestawu danych do zakresu nie spowoduje automatycznej zmiany rangi. Jeśli nadal chcesz posortować ten większy zakres z nowym zestawem danych według tych samych kryteriów, musisz ponownie przeprowadzić proces sortowania niestandardowego. Widać, że jest to bardzo kłopotliwe, zwłaszcza gdy trzeba stale aktualizować dane i informacje w arkuszu. Za każdym razem, gdy dodajesz nowe informacje do zakresu, musisz ponownie posortować. Aby rozwiązać ten problem i szybko zakończyć zadanie, możesz kontynuować czytanie tego artykułu.
Nagraj makro
Gdy kryteria niestandardowego sortowania są bardzo złożone, trudno będzie bezpośrednio napisać kody VBA. Zatem teraz możesz najpierw nagrać makro. A kody w tym makrze mogą być używane w innych makrach. Proces rejestracji kodów jest bardzo łatwy.
- Zanim nagrasz makro, musisz dodać kartę VBA na wstążce. Kliknij prawym przyciskiem dowolną kartę na wstążce.
- A następnie wybierz z menu opcję „Dostosuj Wstążkę”.
- Teraz w oknie „Opcje programu Excel” zaznacz opcję „Programista” na liście „Zakładki główne”.
- Następnie kliknij „OK” w oknie. Dlatego dodałeś kartę na wstążce.
- Teraz wrócisz do arkusza. Kliknij kartę „Programista”, którą dodałeś.
- Następnie kliknij przycisk „Record Macro” na pasku narzędzi. W ten sposób pojawi się okno „Record Macro”.
Z drugiej strony możesz także kliknąć mały przycisk u dołu arkusza, aby zastąpić powyższe 6 kroków.
- Teraz w oknie „Record Macro” wprowadź nazwę w pierwsze pole tekstowe. W razie potrzeby przypisz klawisz skrótu. A następnie dodaj opis zgodnie z potrzebami.
- Następnie kliknij „OK”. W ten sposób makro zaczyna rejestrować każdą wykonywaną operację.
- Wybierz zakres, który chcesz posortować w arkuszu.
- Kliknij kartę „Strona główna”.
- Następnie kliknij przycisk „Sortuj i filtruj” na wstążce.
- Z rozwijanej listy wybierz opcję „Niestandardowe sortowanie”.
- W oknie „Sortuj” ustaw kryteria zgodnie ze swoimi potrzebami. Wszystkie działania zostaną zarejestrowane w makrze.
Podczas nagrywania makra nie wykonuj dodatkowych czynności. W przeciwnym razie te kroki również zostaną zarejestrowane. A to spowoduje kłopoty w następnej części.
- Po zakończeniu ustawień w oknie „Sortuj” kliknij „OK”, aby zapisać ustawienia.
- Teraz ponownie kliknij kartę „Deweloper” na wstążce.
- Następnie kliknij przycisk „Zatrzymaj nagrywanie”. Gdy arkusz jest w stanie nagrywania makr, przycisk zmieni się na „Zatrzymaj nagrywanie”.
Możesz także kliknąć przycisk u dołu arkusza, aby zatrzymać rejestrowanie makra. W ten sposób zakończyłeś nagrywanie. Wszystkie kryteria sortowania zostały zapisane w Makro 1.
Użyj makr Excel VBA
W tej części pokażemy, jak używać makr VBA do aktualizowania niestandardowego sortowania w arkuszu. W tej części użyjesz również zarejestrowanych makr.
- Kliknij kartę „Deweloper” na wstążce.
- Następnie kliknij przycisk „Visual Basic” na pasku narzędzi. Zamiast tego możesz także nacisnąć przycisk „Alt + F11” na klawiaturze, aby zastąpić 2 kroki.
- W edytorze Visual Basic kliknij dwukrotnie arkusz w obszarze „VBAProject”. W tym arkuszu musisz zaktualizować sortowanie niestandardowe. W swoim rzeczywistym pliku musisz dwukrotnie kliknąć odpowiedni arkusz.
- Teraz wprowadź następujące kody w tym obszarze.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- Następnie wprowadź następujące kody między powyższymi dwoma zdaniami VBA.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Tutaj szacowany jest zasięg. Wolumen sprzedaży będzie miał 12 miesięcy i razem z pierwszym wierszem nagłówka wprowadzamy zakres „A1: C13”. Możesz również wprowadzić zakres do kodów zgodnie z rzeczywistym arkuszem roboczym.
- W tym kroku otwórz moduł 1 w edytorze. Kody w tym module są procesem niestandardowego sortowania, który wykonałeś wcześniej. Widać, że korzystanie z funkcji nagrywania makr pozwala zaoszczędzić sporo czasu.
- Teraz skopiuj główną część tego modułu.
- Następnie kliknij dwukrotnie arkusz docelowy w części „VBAProject”.
- Następnie wklej kody do kodów IF-END IF.
- A następnie zmodyfikuj zakres w kodach zgodnie ze swoimi potrzebami. Zarejestrowane makro jest trochę skomplikowane i zbędne. Możesz go również zmodyfikować zgodnie ze swoimi potrzebami. Dlatego pełne kody VBA będą wyglądać następująco:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2:B13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2:C13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C13")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
Dodajemy do kodów kolejny Z-KONIEC Z. Dzięki temu będzie wyraźniejszy niż rekordowy wynik. Jeśli masz inne wymagania, możesz je również zmodyfikować zgodnie ze swoimi rzeczywistymi potrzebami. Musisz zachować ostrożność podczas modyfikowania kodów. W przeciwnym razie w arkuszu otrzymasz błędny wynik.
- Teraz skończyłeś kody VBA w edytorze. Możesz wrócić do arkusza i sprawdzić wynik. Po dodaniu następnego miesiąca i odpowiednich liczb do zakresu sortowanie niestandardowe zostanie automatycznie odświeżone.
Dzięki temu nigdy nie będziesz musiał ręcznie aktualizować sortowania niestandardowego za każdym razem, gdy dodasz nowe elementy do zakresu docelowego. Z drugiej strony, musisz zapisać ten skoroszyt jako plik Excela z włączoną obsługą makr. W przeciwnym razie utracisz kody, jeśli zapiszesz go jako zwykły plik.
Udzielimy pomocy ofiarom korupcji Excela
Wszyscy wiemy, że Excel jest bardzo potężny i może pomóc w szybkim i łatwym zakończeniu pracy. Ale aplikacja Excel wciąż jest daleka od doskonałości. Czasami program Excel ulega uszkodzeniu z wielu różnych powodów. Po uszkodzeniu programu Excel nie będzie można ukończyć zadań za pomocą tej aplikacji. Aby działał lepiej, musisz go jak najszybciej naprawić.
Nasza firma od wielu lat pracuje nad obszarem odzyskiwania danych, w szczególności odzyskiwania Excela. Dlatego możesz zwrócić się o pomoc do naszego personelu technicznego. Dzięki wieloletniemu doświadczeniu możemy łatwo ustalić przyczynę, która powoduje uszkodzenie Twoich plików. I pomóc ci lepiej Napraw uszkodzenie pliku Excel xlsx, opracowaliśmy narzędzie innej firmy. To narzędzie jest bardzo łatwe w obsłudze i nie musisz martwić się problemem prywatności.
Wprowadzenie autora:
Anna Ma jest ekspertem ds. Odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym napraw błąd docx programu Word i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com









