czwartek, 31 lipca 2025

Excel VBA: Makro do sortowania danych według kolumny (rosnąco lub malejąco)

🔍 Co robi to makro?

Makro automatycznie sortuje dane w aktywnym arkuszu na podstawie wybranej kolumny – zarówno rosnąco, jak i malejąco. Idealne do porządkowania list: klientów, faktur, dat, numerów zamówień itp.

📋 Kod VBA: sortowanie po kolumnie A (rosnąco)

Sub SortujPoKolumnieA() Dim ws As Worksheet Set ws = ActiveSheet With ws.Sort .SortFields.Clear .SortFields.Add Key:=Range("A2:A1000"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A1:Z1000") .Header = xlYes .Apply End With MsgBox "Dane zostały posortowane według kolumny A (rosnąco).", vbInformation End Sub

🛠️ Jak działa to makro?

  • Range("A2:A1000") – to kolumna, według której sortujemy.
  • Range("A1:Z1000") – to cały zakres danych, który zostanie posortowany (możesz zmienić).
  • xlAscending – oznacza sortowanie rosnąco (zamień na xlDescending dla malejącego).
  • xlYes – oznacza, że dane mają nagłówki.

🧪 Co możesz zmienić?

  • Aby posortować po innej kolumnie, zmień "A2:A1000" na np. "C2:C1000".
  • Aby sortować malejąco, zmień Order:=xlAscending na Order:=xlDescending.
  • Zakres danych (np. A1:Z1000) dostosuj do swoich arkuszy.

✅ Jak uruchomić makro?

  1. Naciśnij ALT + F11, aby otworzyć edytor VBA.
  2. Wstaw nowy moduł: Wstaw → Moduł.
  3. Wklej powyższy kod.
  4. Zamknij edytor i uruchom makro: ALT + F8 → SortujPoKolumnieA.

🎯 Przykład zastosowania

Wyobraź sobie arkusz z listą faktur lub klientów, gdzie chcesz szybko posortować je według daty (kolumna A). Wystarczy jedno kliknięcie, by wszystko było uporządkowane bez ręcznego ustawiania filtrów.

✅ Podsumowanie

To makro przyspiesza codzienną pracę z danymi i eliminuje potrzebę ręcznego sortowania. Nadaje się zarówno do uporządkowania list, jak i przygotowywania gotowych zestawień lub raportów.

Brak komentarzy:

Prześlij komentarz