A to makro nemôžete poskytnúť?
Inštalovali sa aktualizácie? Skúste posledné za ten mesiac odinštalovať (on ich potom neskôr znovu ponúkne).
Nie je príliš zaplnený disk? Vtedy PC dosť laguje a to najme pri práci so súbormi ale aj odkladaním RAM do PageFile na disku.
Neprebieha práve nejaká príprava na Update? Rozbaľovanie v pozadí, ktoré žerie RAM, SSD, CPU?
Nebeží plánovaná kompletná AV kontrola?
Skúsil by som dočasne zastaviť službu SysMain, ktorá robieva problémy.
Čo hovorí na vyťaženie Správca úloh (CPU, SSD, RAM) ?
Nič iné sa na PC nespomalilo?
Nevisí tam aktualizácia Office (Súbor - Konto - Možnosti aktualizácie - Aktualizovať) ?
...
EDIT OT:
Ak máte klasický HDD, a ten má "šindelový" formát zápisu SMR, a začal presúvať dáta, tak na veľkom HDD pri veľa zmenách aj niekoľko dní mu bude trvať reštrukturalizácia dát, a Vy budete mať skoro nepoužiteľný PC. Ale to by bol vplyv na všetko, nielen na jedno makro. Dnes ak nie SSD ale HDD, tak určo systém zápisu CMR.
Všetko sa vypočítava na základe čísla riadku (mená, dátumy, z toho sa odvodzuje aj podm. form.). Môžete kopírovať celé tabuľky (od šedej nadhlavičky po posledný riadok na meno) ako chcete, len musí byť dodržané riadkovanie ako teraz, teda tabuľka vysoká 27 riadkov, zmena dátumového rozsahu o +7 je každých 54 riadkov, mená začínajú na 8. riadku tabuľky.
ALE.
To vyzerá, akoby ste tú tabuľky tlačil každý mesiac. Načo potom tie problémy, veď 4 týždne sa dajú urobiť aj manuálne PF. Alebo bude pod sebou tých mesiacov viac? To príloha samozrejme neodhaľuje, ani popis. Na celý rok? Teda od 1.1 - 31.12? Alebo na školský rok? To je veľký rozdiel v počítaní dátumov.
Tou prílohou som myslel trochu reálnejšiu prílohu aj s popisom. Aj tie sviatky som si musel ešte sám dorobiť.
Ľudia, ľudia...
EDIT:
A áno, že sa jedná o školské týždne som si prečítal, no to neznamená, že musia byť v tabuľke na oba roky, lebo tabuľka vyzerá, že sa tlačí a podpisuje - keďže je tam políčko podpis na každý deň.
Skúste, teraz som oba súbory prerobil, aby to boli naozaj dátumy.
Makro mám prerobené. Ale. Problémom bude ten dátumočas. V aktualizačnom aj aktualizovanom súbore sú dátumočasy vyplnené ako dátumočas, inak sú bunky v stĺpci ako text. ADO načíta všetko ako text. Pri kontrole teda eviduje nerovnaké hodnoty, a započíta do zmenených. Lenže preuloží ich ako text.
Otázka teda znie: Môže nastať, že v stĺpci "čas" bude aj iná hodnota ako dátumočas alebo prázdny text? Budem to musieť totiž vždy testovať a prevádzať na dátumočas. Prečo nieje teda celý stĺpec "čas" ako formát dd.mm.yyyy hh:mm:ss ale je v prázdnych ako "Text" ???
Priložte nejakú anonymizovanú prílohu, nech si to nemusíme najskôr všetko vymýšľať, predstavovať a vytvárať, aby sme to mohli vôbec vyskúšať riešiť či poradiť...
To makro žiadne zarovnanie neovplyvňuje. A ani nemusí. To si urobte na tú oblasť L4:L1000003 iba raz manuálne.
Bez skúšania od boku:
Namiesto
ReDim Datova_oblast(1 To UBound(Sledovana_oblast), 1 To 2)
dajte
Datova_oblast = .Range("K4:L100003").Value
With wsSouhrn 'Jméno listu
tam máte zbytočne ak ho nepožijete, takže zmeňte
Sledovana_oblast = wsSouhrn.Range("O4:O100003").Value
na
Sledovana_oblast = .Range("O4:O100003").Value
a
With wsSouhrn.Range("K4")
na
With .Range("K4")
@lubo: nefunguje to správne, ak sa niekde v texte nachádza číslo bez ohraničujúcich "[]" pred číslom v "[]", nájde to samostatné číslo, nie to v "[]".
Napr.:
Vojta 123 Pavel Miroslav Libor [12345] Marek
nájde to 123 namiesto 12345.
Ten zložitejší pattern z GPT vráti správne 12345 v oboch prípadoch.
EDIT:
Ale dá sa to skrátiť s tým /d+
=REGEXEXTRACT(E1;"(?<=\[)\d+(?=\])";0)
Presné použitie nevieme, takže to necháme na užívateľovi.
Zdravím Admina/Správcu.
Bolo by možné vrátiť na stránku vpravo zoznam posledných príspevkov, tak ako do bolo do nedávna? Prosím ...
Alebo:
=REGEXEXTRACT(E1;"(?<=\[)[0-9]+(?=\])";0)
Ale na ten regulárny výraz, som sa už musel spýtať ChatGPT
napr.
=REPLACE(LEFT(E1;FIND("]";E1)-1);1;FIND("[";E1);"")
=NAHRADIT(ZLEVA(E1;NAJÍT("]";E1)-1);1;NAJÍT("[";E1);"")
Nemôžete použiť
.Cells(MaxRadek, 1).Value = .Cells(1, 5).Value
lebo sa bodkovou notáciou vo vnútri With odkazujete na List2 (aj pred "=" a za ním). Musíte to upraviť
.Cells(MaxRadek, 1).Value = List1.Cells(1, 5).Value
alebo to dajte do jedného hromadného zápisu
.Cells(MaxRadek, 1).Resize(, 3).Value = Application.Transpose(List1.Range("E1:E3").Value)
ešte poznámka: v tomto jednoduchom makre nepoužívajte
Application.ScreenUpdating = False
bez vypínania a zapínania ScreenUpdating je makro pri hromadnom zápise rýchlejšie.
A čo použiť OnTime?
Myslím, že to bude toto:
Súbor - Možnosti a nastavenia - Možnosti dotazu - Ochrana osobných údajov - Vždy ignorovať nastavenia úrovne ochrany osobných údajov
-Môžete si doinštalovať ofiko doplnok PowerQuery? Cez ten by to bolo asi najjednoduchšie.
https://www.microsoft.com/en-us/download/details.aspx?id=39379
-Alebo požadujete riešenie pomocou vzorcov (to bude zložité), alebo pomocou makra?
-Je možné do listu pridať pomocný stĺpec/stĺpce?
-V skutočnosti sa jedná o tabuľku alebo objekt Tabuľka?
-Koľko je tých stĺpcov? Pevne 10, alebo variabilne cca od-do?
-Koľko mávate približne riadkov?
-Sú dáta zoradené, zoskupené, alebo sú mená na preskáčku?
...Ďalšie otázky ma napadnú asi neskôr.
K tej druhej časti. V štandardnom zobrazení to asi nepôjde, predsa len je to tabuľkový editor, nie grafický program. Ale ak si zobrazenie prepnete na "Rozloženie strany" tak sa šírka ukazuje v cm (prípadne v mm po nastavení mm v Súbor-Možnosti-Rozšírené-Zobrazenie-Jednotky pravítka-Milimetre) a aj to v tých jednotkách nastavujete v tom "Rozloženie strany".
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.