Dogodek Worksheet_Change in Gumb_Klikni

Pomoč pri izdelavi makrov
Odgovori
dragopre
Prispevkov: 115
Pridružen: To Dec 11, 2012 11:46 pm

Dogodek Worksheet_Change in Gumb_Klikni

Odgovor Napisal/-a dragopre »

Pozdravljeni

Na listu imam več vnosnih polj za vnos kriterijev za pripravo poročila in gumb "Poročilo".
Pri dogodku "Worksheet_Change" izvedem kontrolo vpisanega kriterija. Pri dogodku "Poročilo_Klikni" pa izvedem proceduro, ki pripravi poročilo.
Težava nastopi, če po vpisu zadnjega kriterija takoj (brez spremembe selecta iz vnosnega polja) pritisne gumb "Poročilo".
V tem primeru se najprej izvede dogodek "Poročilo_Klikni" in šele po izvedbi poročila se izvede dogodek "Worksheet_Change". Posledično zadnji kriterij ni kontroliran in lahko pride do napake.
Trenutno sem problem rešil tako, da pri dogodku "Poročilo_Klikni" ne zaženem procedure za poročilo ampak izvedem ukaz:
"Application.OnTime Now + TimeValue("00:00:01"), "Poročilo".
Ali je možen kakšen boljši način?

Lepo pozdravljeni in hvala za odgovor
Drago
admin
Site Admin
Prispevkov: 3709
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Dogodek Worksheet_Change in Gumb_Klikni

Odgovor Napisal/-a admin »

Pozdravljeni,

Vedno programirajte tako, da so odzivi na dogodke čim krajši oz. kar klici ustreznih funkcij.

V vašem konkretnem primeru torej napišite funkcijo A (ime naj bo seveda boljše), ki se izvede ob dogodku Worksheet_change. In potem na začetku odziva Porocilo_klikni pač pokličete funkcijo A
lp,
Matjaž Prtenjak
Administrator
Odgovori