< návrat zpět

MS Excel


Téma: Aktivacia listu po spusteni udalostnej procedury rss

Zaslal/a icon 21.8.2018 12:47

Ahoj, dokaze mi niekto pomoct s nasledujucim problemom?
Po zmene v tabulke na liste Data (napr. pri zmene datumu v stlpci T) ma dojst k aktualizacii dotazu qry_DateCompleted, vysledok sa zapise do tabulky na liste Aux. To sa deje, za pomoci kodu Worksheet_Change na liste Data.
Problem: potrebujem, aby sa po tom, co sa udeje hore uvedene, aktivoval list Data, eventualne list Overview. Uplne idealne, aby zostal v tomto pripade opat aktivny list Data. Nie som schopny prist na to, ako toto vyriesit, pomoze niekto, prosim? V sucasnom stave po aktualizacii QueryTable zostane aktivny list Aux a to je nezelany stav.
Karle, toto je zjednoduseny ten problem, kvoli ktoremu som volal.

Příloha: zip41246_test.zip (26kB, staženo 24x)
Zaslat odpověď >

Strana:  1 2   další »
#041247
elninoslov
A keby ste do listu Aux pridal totok ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Cells(7, 2), Target) Is Nothing Then Sheet1.Activate
End Sub
citovat
icon #041248
avatar
Nie, to nefunguje, nieco podobne som tam uz skusal a zmazal som to, pac to nefungovalo. U Teba to funguje? Mne zostane zobrazeny (aktivny) list Aux.citovat
#041249
elninoslov
Problém je, že u mňa sa Aux vôbec neaktivuje. Netuším prečo. Potom prípadne rovno volaciu proc upraviť. Tiež len tip...
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(ListObjects("xlTbl_SourceData").Range, Target) Is Nothing Then
Application.ScreenUpdating = False
Sheet3.ListObjects("qry_DateCompleted").QueryTable.Refresh BackgroundQuery:=False
Activate
Application.ScreenUpdating = True
End If
End Sub


EDIT: Len dodám, že u mňa sa v E2016 Pro x64 SK + Win10 x64 SK (všetko aktualizované) ten Aux neaktivuje ani pri Obnoviť všetko. Ale funguje správne.citovat
icon #041250
avatar
no, triky so strankovanim (ScreenUpdating) som skusal tiez, to tiez nepomohlo. Asi som nemal zmazat tie svoje marne pokusy, pac zatial si dal akurat to, co som uz skusil sam a co nezabralo. Sorry, ze s tym takto zdrzujem a nutim Ta opakovat rovnake pokusy, ktore mam sam za sebou :(citovat
icon #041253
avatar
Cele mi to pride divne, akoby k aktivacii listu Aux doslo az po tom, co makro dobehne, pritom refresh na pozadi je zakazany, tzn. pred ukoncenim aktualizacie QueryTable makro pokracovat nema. Takze nechapem vlastne, co spusti udalost, ktora vedie k aktivacii listu Aux.
K hore uvedenemu zaveru ma vedie domnienka, na ktoru som narazil, ked som do kodu pre list Data pridal 2 msgboxy. K aktivacii listu Aux dojde az po odentrovani Msgboxu "done"Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(ListObjects("xlTbl_SourceData").Range, Target) Is Nothing Then
MsgBox "fired"
Sheet3.ListObjects("qry_DateCompleted").QueryTable.Refresh BackgroundQuery:=False
End If
MsgBox "done"
End Sub
citovat
#041254
elninoslov
Ani nejaké obdobné testovanie Refreshing by nepomohlo ? U mňa je ale Refreshing stále False. Pritom PQ funguje. Dokonca som tabuľku natiahol na 20K riadkov, nech má čo počítať, ale aj tak nedosiahnem Refreshing stav True, ani prepnutie na list Aux.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Counter As Long
If Not Intersect(ListObjects("xlTbl_SourceData").Range, Target) Is Nothing Then
With Sheet3.ListObjects("qry_DateCompleted").QueryTable
.Refresh BackgroundQuery:=False
Do While .Refreshing = True
Counter = Counter + 1
If Counter > 5000 Then Exit Do
Loop
End With
Activate
End If
End Sub
citovat
icon #041255
avatar
Tomu poslednemu postu asi uplne nerozumiem, kazdopadne, refresh na pozadi som pre danu query table vo vlastnostiach manualne nastavil na nepovoleny, do tvojho makra som si pridal debug.print counter za koncom cyklu, vysledok counter = 0, cize .refreshing=false

Ako hovorim, pride mi divne, ze sa mi list aux aktivuje, o to viac, ze u Teba sa tak nedeje..

Uprimne, neskutocne ma to toci, ondim sa s tym uz par hodin bez badatelneho vysledku, budem to musiet obist nejako prasacky tym, ze list aux skryjem, resp, query tables umiestnim niekam, kde som ich povodne nechcel mat. To fakt milujem :(
Mam za to, ze sa jedna budto o bug, alebo je potreba niekde nieco zmenit v nastaveni u mna v Exceli, pricom vobec netusim, co by to malo byt..citovat
#041256
elninoslov
Mal som hypotézu, že zavoláme Refresh, a budeme nejakú dobu čakať, kým status Refreshing nebude False (hotovo). A potom by sa aktivoval list Data. Ale tak to nefunguje. Ten Counter tam bol len pre prípad zaseknutého Refresh-u, aby ukončil čakanie po 5000 kontrolách.

Neviem fakt. Nepomáha ani DoEvents po Refresh ale pred Activate?
Skúšal som vytvoriť aj ďalší PQ dotaz, ale ani ten sa mi po prejdení neprepne na svoj list. U mňa proste ten aktívny Data drží ako pribitý.

Nič som po nainštalovaní Excelu neprenastavoval. Maximálne tak občas R1C1 alebo Iteračný, inak nič.

Mepexg, kde ste ? 5citovat
icon #041257
avatar
Do Events som tiez skusil, proste nic nezabera. Ako pisem, divne je, ze u Teba sa list Aux neaktivuje, resp. tak je to spravne, blbne to u mna, neviem preco, tipujem bug / nejake nastavenie kdesi neviem kde. Nic, idem to poriesit nejako inak..citovat
icon #041264
avatar
Poslal som na pocitac ku kolegyni, u nej k aktivacii listu Aux tiez nedochadza, problem je zrejme v mojom pocitaci :(. Na jednej strane som rad, ze subor bude aspon u prijemcu fungovat, zda sa, korektne, na druhej strane ma stve, ze chybu vo fungovani suboru na mojom ntb asi nedokazem odstranit.Elninoslov, dakujem za snahu pomoct. Mozno je to bugom v 64-bit Office, este niekedy vyskusam na svojom privatnom ntb, tam mam tiez 64-bit Office, akurat 2016, v robote ale 365 a to este k tomu nejaku zmrvenu verziu, u ktorej mi nechodia aktualizacie, pac sa IT nedari k produktu zaregistrovat kluc, napriek tomu, ze pouzivane office su samozrejme legalne. Takze mozno nezostane, pokial zistim, ze dovodom k vadnemu fungovaniu je neaktualizovana verzia 365, nez sa vratit k 32-bit, kde nam aktualizacie funguju.
Elninoslov, len pre zaujimavost, v akej verzii si subor otvaral Ty?citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje