Note: The other languages of the website are Google-translated. Back to English

Jak sortować dane w wielu arkuszach jednocześnie?

W programie Excel możemy szybko i łatwo sortować dane w arkuszu na podstawie określonej kolumny, ale czy kiedykolwiek próbowałeś posortować dane w wielu arkuszach? Sortowanie ich jeden po drugim będzie czasochłonne, w tym artykule przedstawię łatwy sposób rozwiązania tego problemu.

Sortuj dane w wielu arkuszach jednocześnie za pomocą kodu VBA


strzałka niebieski prawy bąbelek Sortuj dane w wielu arkuszach jednocześnie za pomocą kodu VBA

Aby posortować dane na podstawie jednej kolumny we wszystkich arkuszach skoroszytu, może Ci pomóc poniższy kod VBA.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Sortuj dane w wielu arkuszach jednocześnie:

Sub SortAllSheets()
   'Updateby Extendoffice
   Dim WS      As Worksheet
   ActiveSheet.Range("a1:f1").Select
   Selection.Copy
   On Error Resume Next
   Application.ScreenUpdating = False
   For Each WS In Worksheets
      WS.Columns("A:F").Sort Key1:=WS.Columns("E"), Order1:=xlDescending
   Next WS
   ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteAll
   Application.ScreenUpdating = True
End Sub

3. Następnie naciśnij F5 Aby uruchomić ten kod, wszystkie arkusze, które mają to samo formatowanie, zostały posortowane naraz na podstawie kolumny E każdego arkusza w porządku malejącym.

Uwagi: W powyższym kodzie, Odp .: F to zakres danych, który chcesz posortować, E to litera kolumny, według której chcesz sortować.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (11)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie działa...
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak mogę sprawić, by to działało dla wielu kolumn. Próbuję posortować niektóre według kolumny K, a niektóre według kolumny M i znam dokładne numery arkuszy. Moja kolumna M (kiedy używam powyższego kodu) jest sortowana tylko według K, a nie według M, więc nie działa. 
Ten komentarz został zminimalizowany przez moderatora na stronie
działał jak urok dla mnie...dziękuję!
Ten komentarz został zminimalizowany przez moderatora na stronie
działa dobrze, ale jak mogę uniknąć dołączania nagłówków (np. wiersz 1?)
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Lucy,
Aby posortować wszystkie arkusze z wyłączeniem wiersza nagłówka, zastosuj poniższy kod vba: (Uwaga: zmień odniesienia do komórek zgodnie z potrzebami)

Sub Sortuj wszystkie arkusze()
„Aktualizuj do” Extendoffice
Dim WS jako arkusz roboczy
Dim xIntR jako liczba całkowita
ActiveSheet.Range("A1:F1").Wybierz
On Error Resume Next
Application.ScreenUpdating = Fałsz
Dla każdego WS w arkuszach roboczych
xIntR = Intersect(WS.UsedRange, WS.Range("A:F")).Rows.Count
WS.Range("A2:F" & xIntR).Sort Key1:=WS.Range("A2:A" & xIntR), Order1:=xlDescending
Następny WS
Application.ScreenUpdating = True
End Sub

Proszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
W nadziei, że to widzisz...! Działa to cudownie — ale zawiera komórki z formułą, ale bez danych, tworząc luki w kartach i mieszając dane w wierszach. Muszę zachować te komórki na moich kartach, gdy wyszukują nazwy dodane do „karty głównej”. Chcę, aby sortowały tylko komórki z rzeczywistą nazwą – szybka naprawa?
Ten komentarz został zminimalizowany przez moderatora na stronie
Bardzo przydatny kod Dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej, to wspaniale, dziękuję bardzo za to! Moim jedynym problemem z tym kodem jest to, że nie wykonuje się na moim pierwszym arkuszu. Wykonuje się na moich pozostałych arkuszach. Jak mam to wykonać na wszystkich arkuszach? To tak, jakby kod przeskoczył pierwszy arkusz. Każda pomoc byłaby mile widziana :)
Ten komentarz został zminimalizowany przez moderatora na stronie
chcę podzielić dane w wielu skoroszytach, a następnie dodać wartość w jednej z kolumn.

przygotowałem kod do podziału danych w skoroszytach.. ale potrzebuję pomocy przy dodawaniu sumy w jednej z kolumn
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy możesz to uruchomić bez uwzględniania wszystkich arkuszy? To znaczy zostawić kilka arkuszy z makra?
Ten komentarz został zminimalizowany przez moderatora na stronie
Wydawało się, że to nie działa dla mnie. Mam skoroszyt z 12 arkuszami uporządkowanymi według miesięcy w roku, każdy arkusz zawierający odpowiednie dane dotyczące produktów firmy itp. Moim celem jest sortowanie i filtrowanie wszystkich arkuszy w skoroszycie. Chciałbym mieć jeden arkusz, który będzie pełnił funkcję arkusza nadrzędnego (np. pierwszy miesiąc roku), na którym wykonałbym funkcję filtrowania lub sortowania (np. sort A -> Z) i automatycznie miał inne arkusze podążać za tym samym sortować lub filtrować. Np. przy korzystaniu z arkusza o nazwie "Styczeń" jeśli np. wybiorę kolumnę "D" zawierającą dni w miesiącu, które chcę w kolejności "rosnącej" - przy aktualizacji sortowania A -> Z na arkuszu "Styczeń" , chcę, aby wpłynęło to na resztę wszystkich arkuszy w sekwencji (luty-grudzień) ze wszystkimi dniami miesiąca posortowanymi A -> Z. Wszelkie zmiany wprowadzone w arkuszu „Styczeń” w odniesieniu do sortowania i filtrowania powinny wpływają na bilans arkuszy w skoroszycie.
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL