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
Napadajú ma možnosti : Rýchle filtre v KT, Rozšírený filter, parametrický PowerQuery, makro ako posledná možnosť.
Treba prílohu s príkladom nejakých dát, presného rozmiestnenia údajov a ich typov, ... . Citlivé info zmente.
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.
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
OT: S tým súhlasím. No keď môžem/viem, pomôžem, aj keď si to adresáti nezaslúžia. Všeobecne, nielen v Exceli. Som raz taký, ale nebojte, žiaden dobrý skutok nikdy nezostal bez trestu
EDIT: Jáj a ešte som k tej prílohe chcel... Doplnenie prílohy je požadované snáď v každom druhom vlákne, neustále častejšie, a začínam mať pocit, akoby pýtajúci sa čakali, kedy začnú mať riešitelia pocit viny, že dopytujúcich vlastne otravujú a obťažujú.
Kristepane to sú zadania, a bez prílohy. Tu som Vám niečo pripravil.
Úprava na požiadanie...
V 1.liste máte ten dynamický rozsah. Treba si dať pozor na to na ktorom riadku dáta začínajú, podľa toho upraviť.
Makro v 2. liste prosím berte len ako moje odreagovanie po 16 hod. pracovnej tortúre ... idem si dať konečne pivo od jedu a idem spať.
Asi to ide aj inak, ale keď si dáte vložiť počítané pole, a jeho vzorec napíšete ako obyčajné "=poleB+PoleC+PoleD+..." tak Vám súčty dá.
Super, lebo vlastná iniciatíva niečo vyskúšať sa vidí tak v 50% prípadoch.
OT: V Tykaní nieje žiaden problém. Teda ak si na to za čas spomeniem :)
Sranda je, že nemám ani páru o tom, čo sa tam počíta a čo hrajú, ja som pozrel iba na kód
Skupina pomenovaných prepínačov, a je to:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Poz As Byte
On Error Resume Next
Poz = WorksheetFunction.Match(Selection.Cells(1).Interior.ColorIndex, Array(-4142, 33, 3, 6, 47, 45), 0)
Cells(1, 1).Value = IIf(Poz = 0, Empty, Poz)
End Sub
Sub ZmenBarvu()
Selection.Interior.ColorIndex = Array(-4142, 33, 3, 6, 47, 45)(CInt(Right$(ActiveSheet.Shapes(Application.Caller).Name, 1)) - 1)
End Sub
Nemáte to nijako ošetrené na chyby. Trochu som Vám to upravil.
A to máte na mysli nejaký druh výberového zoznamu v bunke ? Či vo formulári VBA ? Či myslíte KT ? Bodla by príloha...
Upravená pôvodná procedúra, teraz s názvom Odkryť_riadky2(). Ale ako som písal, radšej použite procedúru Odkryť_riadky() a tú pôvodnú zmažte, alebo iba poštudujte ak chcete. Je jednoduchá, používa skrytý pomocný stĺpec AM, kde sú jednoduché vzorce, pre určenie skrývaných riadkov.
Ak Vám pomocný stĺpec AM, nevyhovuje, tak si zmažte teda tú krátku novú, premenujte tú starú dlhú na Odkryť_riadky() a vymažte stĺpec AM..
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.