Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem ms excel rozšírené filtrovanie

Rozsireny filtr, ktery je implementovan v Excelu (Data>Filtr>Rozsireny filtr) pozaduje umistit kriteria i oblast pro vysledek na tentyz list.
Pokud trvas na umisteni kriterii a vysledku na jinem listu, pak nezbude nez napsat vlastni proceduru opirajici se o For Each...Next statement.
Neco takoveho:

Option Explicit

Sub najdi()
  Dim Krit1 As Variant, Krit2 As Variant, PoslRadek As Long
  Dim Databaze As Range, Extrakt As Range, c As Range, i As Long
  'definovat oblast databaze a kriterii
  Set Krit1 = Worksheets("list2").Range("f1")
  Set Krit2 = Krit1.Offset(0, 1)
  PoslRadek = Worksheets("List1").Cells(Rows.Count, "A").End(xlUp).Row
  Set Databaze = Worksheets("list1").Range("a1")
  Set Databaze = Databaze.Resize(PoslRadek, 1)
  'definovat oblast extrakt a clear
  PoslRadek = Worksheets("List2").Cells(Rows.Count, "A").End(xlUp).Row
  Set Extrakt = Worksheets("list2").Range("a1")
  Set Extrakt = Extrakt.Resize(PoslRadek, 1)
  Extrakt.ClearContents
  ' vykonna smycka
  i = 0
  For Each c In Databaze.Cells
    If c.Value >= Krit1 And c.Value <= Krit2 Then  ' podminky zadat dle potreby
      Extrakt.Offset(i, 0).Value = c.Value
      Extrakt.Offset(i, 1).Value = c.Offset(0, 1).Value
      ' pripadne dalsi bunky
      i = i + 1
    End If
  Next c
End Sub

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny