VBA - přerušení běhu makra
Napsal: 12 čer 2012 13:43
Ahoj, mám kód, který vepíše do zadané oblasti hodnoty. Na základě změn hodnot v dané oblasti se spustí dotaz na pozadí sešitu Excel a importují se data z databáze.
Já jsem rozšířil kód tak, že:
1. Vložím hodnoty do dané oblasti - má se spustit dotaz na pozadí
2. další část kódu vkládá hodnoty z tabulky importu dat.
Celý problém je v tom, že po bodu 1 se nespustí dotaz na pozadí a neimportuje data. Data jsou importovány až po skončení celého kódu, tzn., bodu 2, což je pozdě.
Hledám řešení, jak kód přerušit, aby se mohl spustit dotaz na pozadí pro import dat a poté kód dokončit. Tzn., bod 1 - přerušení - bod2 - konec.
Kód:
Já jsem rozšířil kód tak, že:
1. Vložím hodnoty do dané oblasti - má se spustit dotaz na pozadí
2. další část kódu vkládá hodnoty z tabulky importu dat.
Celý problém je v tom, že po bodu 1 se nespustí dotaz na pozadí a neimportuje data. Data jsou importovány až po skončení celého kódu, tzn., bodu 2, což je pozdě.
Hledám řešení, jak kód přerušit, aby se mohl spustit dotaz na pozadí pro import dat a poté kód dokončit. Tzn., bod 1 - přerušení - bod2 - konec.
Kód:
Kód: Vybrat vše
Sub RozFiltr()
'BOD 1
'Vyfiltruje moduly požadovaného Projektu
'----------------------------------------------------
Range("tab.ModulProjekt").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("KriteriaFiltr"), CopyToRange:=Sheets("csl_ProjektySledovat").Range("I1"), Unique:=True
Range("tab.ModulProjekt").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("KriteriaFiltr"), CopyToRange:=Sheets("csl_ProjektySledovat").Range("J1"), Unique:=True
'BOD2
'Vyfiltruje data pro vybraný projekt
'----------------------------------------------------
Sheets("VykazPrace").Range("A9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("tab.viM002z[#all]").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("VykazPrace_Kriteria"), Unique:=True
Range("a9").Select
End Sub