Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  16 17 18 19 20 21 22 23 24   další » ... 286

Ale makrom prichádzate o Undo.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
If Range("E2").Value = "Sledovanie" Then
If Range("B2").Value >= Range("C2").Value Then
Range("D2").Value = Now
Range("E2").Value = "STOP"
End If
End If
End If

If Not Intersect(Target, Range("E2")) Is Nothing Then
If Range("E2").Value = "Sledovanie" Then
If Not Range("E2").FormulaHidden Then 'Vlastnosť bunky využitá na uchovanie predchádzajúceho stavu sledovania
Range("D2").ClearContents
Range("E2").FormulaHidden = True
End If
Else
Range("E2").FormulaHidden = False
End If
End If
End Sub

Ale pozor. Takisto nebude fungovať, ak budú v dátach medzery. Treba si ujasniť, či chcete zapisovať na prvý voľný alebo za posledný zaplnený. To je rozdiel. A samozrejme, či bude použitý filter a či sa jedná o objekt Tabuľka, alebo iba obyč tabuľka, ďalej či to má hlavičku a na ktorom riadku (to u Vám má na riadku 1)...
Worksheets("Hárok1").Columns("B").Cells.Find(What:="", After:=Worksheets("Hárok1").Range("B1"), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Resize(, 5).Value = Array(TextBox1.Text, ComboBox1.Text, ComboBox2.Text, ComboBox3.Text, ComboBox4.Text)
ďalej je možnosť SpecialCells(xlCellTypeLastCell), a tiež ak budú napr. posledné riadky vyfiltrované vracia nesprávny výsledok.

Super. Urobil som obdobnú skúšku:
zdroj xlsx - 2,2 MB
PQ bez filtra do Tabuľky - 750 kB
PQ bez filtra iba prepojenie - 16 kB
PQ bez filtra iba prepojenie + dátový model - 557 kB
PQ s filtrom do Tabuľky - 476 kB
PQ s filtrom iba prepojenie - 16 kB
PQ s filtrom iba prepojenie + dátový model - 553 kB

Ten pokus s veľkosťou súboru ste nerobil?

Nie som teraz pri PC, ale myslím si, že ak ten filter robíte v tom načítacom PQ, tak tue odfiltrované riadky v súbore nie sú. Keď prídem urobím pokus, alebo skúste Vy.

Hmm "každý ma v PC svoju kópiu". A ako sa dostane nejaký kontrolný/zlučovací súbor do PC tých 4-och užívateľov?

Ak Vám ich pošlú napr. mailom, alebo ich nahrajú na cloudové úložisko, tak sa dá zlúčenie všetkých vyplnených dát urobiť v nejakom kontrolnom súbore cez makro, alebo cez PowerQuery. Ale ten kontrolný súbor musí mať prístup na všetky 4 súbory.

Nie som si istý, či to je OK. Ale možno nad tým rozmýšľam zle. Ak zadám 50 000, tak je dolný limit 40 000 a horný 50 000, alebo platí že je dolný 50 000 a horný 60 000? Treba si ujasniť, či náklady v A:A sú "od", "do", "od vrátane", "do vrátane".

Len si dajte pozor pri .End(xlDown/xlUp). Ak máte filtrované riadky nefungujú správne. Vtedy treba použiť metódu .Find(...).

Príklad:
-klik na filtrovaciu šípku stĺpca "Kód akce"
-Filter Textu - Začína na
-Rozšírené - Pridať klauzulu
-obe pridané klauzuly dať typ "Alebo"
-všetky 3 klauzuly dať operátor "začína na"
-prvá PR, druhá ESP, tretia ESB

let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabuľka1"]}[Content],
#"Zmenený typ" = Table.TransformColumnTypes(Zdroj,{{"ID", Int64.Type}, {"Kód akce", type text}, {"Datum zaúčtování", type datetime}, {"Popis", type text}}),
#"Filtrované riadky" = Table.SelectRows(#"Zmenený typ", each Text.StartsWith([Kód akce], "PR") or Text.StartsWith([Kód akce], "ESP") or Text.StartsWith([Kód akce], "ESB"))
in
#"Filtrované riadky"

Základ je vždy reštart zariadenia, aby nabehol odznovu OS aj nanovo ovládače na myš/touchpad/USB atď. To, že Vám to začalo pred 2 týždňami, by mohlo naznačovať nejakú aktualizáciu Office prípadne automatickú aktualizáciu ovládača napr. TouchPadu. Lenže nerobí to žiadne problémy inde. A to sú tie najhoršie identifikovateľné problémy, ktoré sa prejavujú nesystematicky, náhodne, nepravidelne, a ich odstránenie je lotéria nápad->pokus->omyl->náhoda->zabralo 7

Skúsil by som (hoci je to pracné) vyrobiť z funkčného súboru nový, a naládovať ho dátami z toho nefunkčného. Uložiť nový a vyskúšať. Potom aktualizovať Office ak je dostupná nejaká aktualizácia. Aktualizovať ovládač myši/TouchPadu od výrobcu, ak nie, tak Odstrániť zo Správcu zariadení, nech si ho nájde a nahodí znovu OS sám. Následne reštart.

Je to divné, lebo ten súbor nám ide.

A klasická rada zo slávneho seriálu - "Vypnúť, zapnúť" nepomáha? Pretože to fakt fičí, a môže to byť aj niečo na úrovni OS/Driveru.

Áno, presne o to sa pokúša. Je zaujímavé, že nastavenie tých príznakov xlReadOnly/xlReadWrite spôsobí ReOpen, viď príloha 9
Snáď to chápem správne.

@lubo: Tie Vaše príklady sú iný level 9
Trochu som si to upravil, pre moje potreby, aby to z viacerých vnútorných medzier urobilo jednu
= Table.TransformColumnNames(#"Hlavičky so zvýšenou úrovňou", each Text.Combine(List.ReplaceValue(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), "", null, Replacer.ReplaceValue), " "))

Zdá sa to byť nemožné (logike odporujúce) ale predsa na stackoverflow ... prípadne zaujímavo vyzerá aj na extendedoffice ... no idem už spať, neskúšam.

EDIT: Tak som použil ten posledný spôsob. Napr. takto:

Úryvok z môjho dotazu ako som to jednoducho urobil ja, transpozícia -> prečistenie -> transpozícia -> hlavička:
#"Transponovaná tabuľka" = Table.Transpose(#"Filtrované riadky2"),
#"Orezaný text" = Table.TransformColumns(#"Transponovaná tabuľka",{{"Column1", Text.Trim, type text}}),
#"Filtrované riadky3" = Table.SelectRows(#"Orezaný text", each [Column1] <> null and [Column1] <> ""),
#"Transponovaná tabuľka1" = Table.Transpose(#"Filtrované riadky3"),
#"Hlavičky so zvýšenou úrovňou" = Table.PromoteHeaders(#"Transponovaná tabuľka1", [PromoteAllScalars=true]),

Myslím, že u Vás by to mohlo byť aj obdobné. Bodol by taký súbor ako máte (anonymizovaný, hlavičky zachovať, dáta stačia 2 riadky)

Prípadne cez List.Contains. (tu sú 2 zaujímavé metódy, ťažko povedať čo bude najrýchlejšie)
Veď urobte porovnávací pokus veľkostí súborov s PQ filtrom vs bez neho.


Strana:  1 ... « předchozí  16 17 18 19 20 21 22 23 24   další » ... 286

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21