< návrat zpět
MS Excel
Téma: Kdo poradí jak na to jsem v koncích :/
Zaslal/a koda 28.3.2012 13:30
Vyrobil jsem zdrojový sešit kam tahám přes ODBC drivery data z SQL serveru. Vytvořil jsem všechny potřebné přehledy a kontingenční grafy. Vše jsem nastavil na automatické obnovení po 60minutách a vše pak doplnil makrem zdehttp://www.bastleni.eu/vba/82-vba-1cast na automatické ukládání - tak abych se o něj nemusel starat.
K tomu jsem vytvořil ještě jeden sešit (říkám mu view), který je určen pro šéfy, zkrze který by koukali jen na finální výsledky (přehledy, grafy). Do zdrojového je z pochopitelných důvodů pustit nechci .
Potřeboval bych poradit s několika potížemi, se kterýma se ne a ne poprat
1. automatické obnovení po 60min se mi někdy dostává do konfliktu s makrem na automatické uložení. (Vyskoči okno s hlaškou a dokud nepotvrdím, nebo nestornuju, zdrový sešit se neupdeatuje).
2. pokud nechám view sešit otevřený, tak se zdrojový sešit neupdeatuje a vyhodí hlášku "zdrojový sešit se nyní používá, opakujte akci později"
3. při otevření view sešitu na mě vyskakuje několik hlášek
3.1 tento sešit obsahuje propojení na jiné zdroje: aktualizovat - s tím nemám problém to je klasika ;)
3.2 pak vyskočí okno že zdrojový sešit je uzamčen pro úpravy: jen pro čtení - s bych taky neměl problém opět klasika
to šéfové zvládnou, sešit view začne něco dělat, probliknou nějaký okna
3.3 pak ale vyskočí hláška "zdrojový sešit je již otevřen jeho otevřením zrušíte... bla bla", když to odkliknu začne zase něco dělat a pak zase vyhodí zase hlášku 2.2 když to zase odkliknu pak je vše hotovo (někdy se stává, že se tyto hlášky opakují několikrát za sebou dokola - to ale šéfové nekousnou
Našel by se tu někdo, kdo by mi poradil jak to odladit??
Používám Office 2007/2010
VBA zatím neumim ale dokažu se s ním poprat - orientuju se v něm
Díky všem za help
Uzamčeno - nelze přidávat nové příspěvky.
Jeza(28.3.2012 16:10)#007807 Ad 1 zrušit automatické obnovení a nahradit ho makrem (stejný způsob jako máš časové ukládání), akorát nebudeš ukládat ale budeš dělat query refresh.
Ad 2 zkusit soubor view nastavit aby se vždy spouště pouze v režimu pro čtení.
další body bych zkusil ošetřit před application.displayalerts = false.
Nebo lépe bych výsledky co máš momentálně napojené do zdroje ukládal tak aby soubor view nebyl propojený, případně co 60min vytvořit prezentaci :-), ale to už je složitější a záleží na typu dat :-)
M@
citovat
koda(28.3.2012 21:56)#007812 to Jeza:
Ad 1 - takže přidám další makro, změním save za refresh a nacpu do toho sešitu další makro. chápu to správně?? pokud ano, to bych měl zvládnout pořešit
Ad 2 - myslíš kliknout na ikonu excelu pravým tlačítkem myši a kliknout vlastnosti a tam odkliknout?? Nebo přímo v excelu v informacích, kliknou na zamknout sešit a tam vybrat "označit jako konečný"??
application.displayalerts = false - jsem nikde nenašel :/ asi nevladnu tím VBA jak jsem si myslel :) - řešit v tom view nebo zdrojovém??
možná by mi pomohl nějaký názorný příklad nějak už i to dneska nemyslí
díky
koda
citovat
Jeza.m(28.3.2012 22:36)#007814 ten refresh může být i součástí ukládacího makra.
ListX.Range("NAZEV").QueryTable.Refresh BackgroundQuery:=False
soubor view -> uložit jako -> v dialogu vyrat Nástroje -> Obecné možnosti -> Doporučeno pouze pro čtení, případně zamknout, ale zkoušet jsem nezkoušel jestli pomůže, je to jen tip.
do souboru view do ThisWorkbook do Workbook_Open vložit
Application.DisplayAlerts = False
před vypnutím zas zapnout.
M@
citovat
koda(29.3.2012 16:07)#007839 to Jeza:
díky, díky za rady refresh jsem přidal do ukládání a vše šlape parádně ;)
sešit view jsem poladil jak jsi radil, ale pořád se to chová nějak podivně. zkusím se ještě trápit, ale nejspíš přejdu k variantě, kdy jim tam nacpu ODBC a ve zdrojovem sešitu poschovávám listy a nechám zobrazeno jen co potřebujou :)
nicméně děkuji za cenné rady, zase jsem o krůček poskočil dál ;)
díky
koda
citovat