馃攳 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
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?
- Otw贸rz Excela i wci艣nij ALT + F11, aby przej艣膰 do edytora VBA.
- Wybierz Wstaw → Modu艂, a nast臋pnie wklej powy偶szy kod.
- Upewnij si臋, 偶e w skoroszycie masz arkusz o nazwie "Dane", gdzie kolumna C zawiera np. "Aktywny" lub inne statusy.
- 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