Jak automatycznie zaktualizować posortowany zakres za pomocą VBA w arkuszu programu Excel

Podziel się teraz:

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.Przykład

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.

  1. Zanim nagrasz makro, musisz dodać kartę VBA na wstążce. Kliknij prawym przyciskiem dowolną kartę na wstążce.
  2. A następnie wybierz z menu opcję „Dostosuj Wstążkę”.Dostosuj wstążkę
  3. Teraz w oknie „Opcje programu Excel” zaznacz opcję „Programista” na liście „Zakładki główne”.Deweloper
  4. Następnie kliknij „OK” w oknie. Dlatego dodałeś kartę na wstążce.
  5. Teraz wrócisz do arkusza. Kliknij kartę „Programista”, którą dodałeś.
  6. Następnie kliknij przycisk „Record Macro” na pasku narzędzi. W ten sposób pojawi się okno „Record Macro”.Nagraj makro

Z drugiej strony możesz także kliknąć mały przycisk u dołu arkusza, aby zastąpić powyższe 6 kroków.Nagraj makro

  1. 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.Ustaw makro
  2. Następnie kliknij „OK”. W ten sposób makro zaczyna rejestrować każdą wykonywaną operację.
  3. Wybierz zakres, który chcesz posortować w arkuszu.
  4. Kliknij kartę „Strona główna”.
  5. Następnie kliknij przycisk „Sortuj i filtruj” na wstążce.
  6. Z rozwijanej listy wybierz opcję „Niestandardowe sortowanie”.Niestandardowe sortowanie
  7. W oknie „Sortuj” ustaw kryteria zgodnie ze swoimi potrzebami. Wszystkie działania zostaną zarejestrowane w makrze.Sortuj

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.

  1. Po zakończeniu ustawień w oknie „Sortuj” kliknij „OK”, aby zapisać ustawienia.
  2. Teraz ponownie kliknij kartę „Deweloper” na wstążce.
  3. Następnie kliknij przycisk „Zatrzymaj nagrywanie”. Gdy arkusz jest w stanie nagrywania makr, przycisk zmieni się na „Zatrzymaj nagrywanie”.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.

  1. Kliknij kartę „Deweloper” na wstążce.
  2. 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.Visual Basic
  3. 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.
  4. Teraz wprowadź następujące kody w tym obszarze.
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
  1. 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.

  1. 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.
  2. Teraz skopiuj główną część tego modułu.Skopiuj
  3. Następnie kliknij dwukrotnie arkusz docelowy w części „VBAProject”.
  4. Następnie wklej kody do kodów IF-END IF.
  5. 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.

  1. 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.Testowanie

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

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.