艣roda, 30 lipca 2025

Excel VBA: Makro do filtrowania danych i kopiowania wynik贸w do nowego arkusza

馃攳 Co robi to makro?

To makro automatycznie filtruje dane w arkuszu Excela wed艂ug zadanych kryteri贸w (np. tylko wiersze z kolumny "Status" = "Aktywny") i kopiuje je do nowego arkusza.

馃搵 Krok po kroku: Makro VBA z opisem

' Rozpocz臋cie definicji makra
Sub FiltrowanieIKopiowanie()

  ' Deklaracja zmiennych
  Dim wsSource As Worksheet
  Dim wsTarget As Worksheet
  Dim lastRow As Long

  ' Ustawiamy aktywny arkusz jako 藕r贸d艂owy
  Set wsSource = ThisWorkbook.Sheets("Dane")

  ' Tworzymy nowy arkusz, gdzie wkleimy dane
  Set wsTarget = ThisWorkbook.Sheets.Add
  wsTarget.Name = "Wyniki"

  ' Znajdujemy ostatni wiersz z danymi
  lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row

  ' W艂膮czamy filtr w arkuszu 藕r贸d艂owym
  wsSource.Range("A1:D" & lastRow).AutoFilter Field:=3, Criteria1:="Aktywny"

  ' Kopiujemy przefiltrowane dane (nag艂贸wek + widoczne wiersze)
  wsSource.Range("A1:D" & lastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=wsTarget.Range("A1")

  ' Wy艂膮czamy filtr
  wsSource.AutoFilterMode = False

  MsgBox "Filtrowanie i kopiowanie zako艅czone!", vbInformation
End Sub

馃洜️ Jak u偶y膰 tego makra?

  1. Otw贸rz Excela i wci艣nij ALT + F11, aby przej艣膰 do edytora VBA.
  2. Wybierz Wstaw → Modu艂, a nast臋pnie wklej powy偶szy kod.
  3. Upewnij si臋, 偶e w skoroszycie masz arkusz o nazwie "Dane", gdzie kolumna C zawiera np. "Aktywny" lub inne statusy.
  4. Uruchom makro FiltrowanieIKopiowanie – dane zostan膮 przefiltrowane i skopiowane do nowego arkusza o nazwie "Wyniki".

✅ Podsumowanie

To makro to 艣wietny spos贸b na szybk膮 automatyzacj臋 filtracji i kopiowania danych w Excelu bez r臋cznego klikania. Idealne do pracy z du偶ymi zestawami danych.

Brak komentarzy:

Prze艣lij komentarz