pokusím se o teoretické nasměrování :-).
1) Přejmenuj si oblast (se stávajícím názvem mi to nejde), stačí třeba na "Q" ... pravým tlačítkem na oblast dat -> Vlastnosti Oblasti dat.
2) Vytvoř si makro jehož jediným řádkem bude:
List2.Cells(1, 1) = Range("Q").QueryTable.CommandTextčímž si do listu2 buňka A1 vypíšeš SQL dotaz.
3) V SQL dotazu si změň řádky:
SET @ucet = '501101'
SET @obdobi = 'U2012%'
na třeba:
SET @ucet = 'tmpucet'
SET @obdobi = 'tmpobdobi%'
4) Předchozí makro můžeš zrušit.
5) Vytvoř nové makro a do něj zadej:
Range("Q").QueryTable.CommandText = Replace(Replace(List2.Cells(1, 1), "tmpucet", List1.Range("J1")), "tmpobdobi", List1.Range("L1"))
Range("Q").QueryTable.Refresh6) Někde na listu1 si vytvoř tlačítko jenž se bude odkazovat na toto makro.
Je to neodzkoušená teorie, ale takhle nějak bych na to šel já :-).
M@citovat
1) Přejmenuj si oblast (se stávajícím názvem mi to nejde), stačí třeba na "Q" ... pravým tlačítkem na oblast dat -> Vlastnosti Oblasti dat.
2) Vytvoř si makro jehož jediným řádkem bude:
List2.Cells(1, 1) = Range("Q").QueryTable.CommandTextčímž si do listu2 buňka A1 vypíšeš SQL dotaz.
3) V SQL dotazu si změň řádky:
SET @ucet = '501101'
SET @obdobi = 'U2012%'
na třeba:
SET @ucet = 'tmpucet'
SET @obdobi = 'tmpobdobi%'
4) Předchozí makro můžeš zrušit.
5) Vytvoř nové makro a do něj zadej:
Range("Q").QueryTable.CommandText = Replace(Replace(List2.Cells(1, 1), "tmpucet", List1.Range("J1")), "tmpobdobi", List1.Range("L1"))
Range("Q").QueryTable.Refresh6) Někde na listu1 si vytvoř tlačítko jenž se bude odkazovat na toto makro.
Je to neodzkoušená teorie, ale takhle nějak bych na to šel já :-).
M@citovat