Temat: Kopiuj kolumne numer.... (VBA)
Lekko brakuje danych.
Założenia:
Tabela z danymi jest w Arkusz1, jej lewy górny róg to C1
Kryterium filtrowania: >3 :)
Kopiujemy z nagłówkiem
Miejsce, w którym lądują dane to Arkusz2, komórka A1
+2 to korekta uwzględniająca lokalizację tabeli z danymi w arkuszu. Zmienna "Kolumna" to numer kolumny w tabeli z danymi, natomiast potem potrzebny jest adres w arkuszu, dlatego skoro C1 to +2.
Sub Filtruj()
Dim Kolumna As Integer 'numer kolumny tabeli z danymi, nie arkusza
Dim Ostatni_w As Long 'ostatni wiersz po filtrowaniu
Dim zakres As Range 'zakres odfiltrowany do kopiowania z nagłówkiem
With Sheets("Arkusz1")
On Error Resume Next
.ShowAllData
On Error GoTo 0
Kolumna = .Range("a1")
.Range("C1").CurrentRegion.AutoFilter Field:=Kolumna, Criteria1:=">3"
Ostatni_w = .Range(.Cells(.Rows.Count, Kolumna+2).Address).End(xlUp).Row
Set zakres = .Range(.Cells(1, Kolumna + 2), .Cells(Ostatni_w, Kolumna + 2)).SpecialCells(xlCellTypeVisible)
zakres.Copy Sheets("Arkusz2").Range("A1")
End With
End Sub
Ten post został edytowany przez Autora dnia 27.05.14 o godzinie 11:19