
Například nějak takto:
Sub Zrusit_filtr_dle_podminky()
Dim posledni_obsazeny_radek As Long
posledni_obsazeny_radek = ActiveSheet.Range("A10000").End(xlUp).Row
If posledni_obsazeny_radek = 1 Then
ActiveSheet.Range("$A$1:$O$10000").AutoFilter Field:=5
End If
End Sub
Případně lze navázat na událost listu:
Private Sub Worksheet_Change(ByVal Target As Range)
Call Zrusit_filtr_dle_podminky
End SubP.

Moc děkuji, už jsem to dal trochu jinak.
Nyní mě však trápí to že potřebuji skloubit dvě podmínky a to:
když je ve vybrané buňce text, jdi do buňky vpravo a vyvolej makro
když ve vybrané buňce nic není tak pokračuj dál (ale ne v hledání, nýbrž v původním makru)
Tento zápis mi to nebere
Cells(65536, 23).End(xlUp).Offset(1, 0).Select 'najdi první prázdný řádek
ActiveCell.Offset(0, -1).Range("A1").Select 'skoč do buňky vedele
' a tady potřebuji výše uvedenou podmínku
Set rng = Range(ActiveCell, ActiveCell.Offset(0, -1))
i = 1
For counter = 1 To rng.Rows.Count
If rng.Cells(i) = IsText Then
Call kdo("20353")
Else
ActiveCell.Offset(1, 0).Range("A1").Select
i = i + 1
End If
Next
syd(1.10.2016 18:01)citovat#032953 
Zdravim,
misto vaseho
If rng.Cells(i) = IsText Then
by to melo byt
If Application.WorksheetFunction.IsText(rng.Cells(i)) Then
Taky mi pripada trochu divny ten cyklus.. zda se mi rng.Rows.Count bude vzdy 1... tedy z te oblasti bude zkoumat pouze obsah prvni bunky ale druhe ne...
syd

Děkuji.
A pokud mohu být tak smělý a rozumíte tomu, mohl by jste mi upravit tedy i ten cyklus?
Děkuji
syd(1.10.2016 19:13)citovat#032955 
Kdyz budu vedet, co je vasim zamerem, task se pokusim. Nahrajte ukazkovy sesit, zmente citliva data, popiste, co je treba provest...

Co přesně potřebuji jsem Vám zaslal na email i s přílohou.
Takto se to špatně vysvětluje, tak si přečtěte email a když tak se ozvěte.
Moc děkuji