Samozrejme že nie. Veď väčšina omáčky je tam samozrejme kvôli počítaniu a zobrazovaniu požadovaných vecí. Ak len blikanie, tak takto.
"PavDD" napsal/a:
...principielně je to co jsem chtěl...
Ak by som vedel, či sa jedná len o tieto 2 riadky, alebo o nejakú oblasť (podľa čoho ju určiť?), a či každý riadok tej viacriadkovej oblasti začína na
"ExcludeInput = ", tak sa dá urobiť krátke makro, ktoré ten súbor vytvorí jednoduchšie, rýchlejšie, bez prebliknutia obazovky.
To myslíte Vážne, že neviete na čo slúži premenná Seconds a AllSeconds??? Nechceli ste náhodou počítať sekundy?
...
Veď ste chcel, aby sa formulár zatvoril po ubehnutí času. Teraz chcete presný opak.
Timer sa MUSÍ ukončiť. Či už na tom riadku po dopočítaní času alebo v Terminate formulára.
PS: Je to aj v popise v makre, ale ešte raz: Nemôžete meniť tie milisekundy bez rozmyslu. Je to celé nastavené podľa požiadavky na 0,5 sekundové úseky, teda sa kontroluje každý druhý úsek po 0,5 sek, že nastala celá sekunda. Na to je tam toIf SemiSeconds Mod 2 = 1 Then
Pri zmene MILISECONDS treba preprogramovať počítanie, kedy nastala celá sekunda. Chápeme sa?
@Barth: Výber objektu ListBox1 by som zjednodušil na miesto cyklu na toto
On Error Resume Next
Set lb = .OLEObjects("ListBox1").Object
On Error GoTo 0Pridal som Váš kód do prílohy, aby bolo vidieť vizuálnu organizáciu kódu.
To je nevýhoda pripnutia iba kódu do príspevku, že sa stratí práve tá vizuálna organizácia kódu, ktorá by uľahčila čítanie. No a potom, fórum pridá medzi každé riadky jeden navyše, čo spôsobí nefunkčnosť zložených riadkov (so znakom "_" na konci riadku). Je vhodné preto priložiť aj prílohu.
@PavDD: Čo Vám na tom príklade od Barth nejde? Dá sa to v pohode rozbehať, viď vyššie.
Ale Barth má pravdu, že toto rieši niečo trošku iné. Niečo na spôsob KT.
Myslíte VBA UserForm ?
No ak to chcete na časti menšie ako 1s (obmedzenie Application.OnTime) tak jedine API Timer. Toto som otestoval na E2010-32bit a E2019-64bit
Makro riešenie na KT-only
Sub Export_KT_do_XLSX()
Dim WB As Workbook
Set WB = Workbooks.Add
ThisWorkbook.Worksheets("přehled").PivotTables("Kontingenční tabulka1").TableRange2.Copy 'kopíruj oblast KT
With WB.Worksheets(1).Cells(1, 1)
.PasteSpecial xlPasteColumnWidths 'přilepit šířky sloupců
.PasteSpecial xlPasteValues 'přilepit hodnoty
.PasteSpecial xlPasteFormats 'přilepit formáty
.Select
End With
Application.CutCopyMode = False
WB.SaveAs ThisWorkbook.Path & "\přehled-export.xlsx", xlOpenXMLWorkbook 'uložit soubor XLSX
WB.Close False
Set WB = Nothing
End SubSub Export_KT_do_CSV()
Dim S As Integer, R As Long, i As Long, y As Long, Sirky() As Double, T As String
Const DELIMITER = ";"
With ThisWorkbook.Worksheets("přehled").PivotTables("Kontingenční tabulka1").TableRange2 'pro oblast KT
S = .Columns.Count
R = .Rows.Count
ReDim Sirky(1 To S)
For i = 1 To S 'odložit původní šířky KT sloupců
Sirky(i) = .Columns(i).ColumnWidth
Next i
.EntireColumn.AutoFit 'upravit šířky na zobrazení celých hodnot
For i = 1 To R
For y = 1 To S
T = T & IIf(y > 1, DELIMITER, "") & .Cells(i, y).Text 'poskládej výsledné zobrazení v buňkách jako text
Next y
T = T & vbNewLine
Next i
For i = 1 To S 'vrátit původní šířky KT sloupců
.Columns(i).ColumnWidth = Sirky(i)
Next i
End With
S = FreeFile
Open ThisWorkbook.Path & "\přehled-export.csv" For Output As #S
Print #S, T 'zápis textového souboru CSV
Close #S
End Sub
Ak by mohla byť tá "palička" znak "|" čiže CHAR(124) čiže pravý Alt+W, tak to ide. Optický rozdiel je skutočne minimálny, len rozhodujúce bude, čo sa s tým configom potom deje. Číta ho nejaký automat, ktorý je nastavený na Vašu "paličku", ktorá má úplne iný kód (pre VBA neprekusnuteľný)?
A preniesli ste si aj ten definovaný názov
CELY_ROK, ktorý odkazuje na
=List2!$B$2:$NC$3???
A musel som Vám nahradiť vzorec v C3 za takýto
=DATE(B3;MATCH(A3;List3!A1:A12;0);1)
=DATUM(B3;POZVYHLEDAT(A3;List3!A1:A12;0);1)
lebo v inom ako v CZ Exceli sa výraz
DATEVALUE("1-Leden-2022")
DATUMHODN("1-Leden-2022")na dátum 1.1.2022 neprevedie.
Upravil som Vám aj posledné vzorce v mesiaci aj v roku, aby to zohľadnilo február a rozdielnosť počtu dní.
Môžete uviesť prílohu?
Takto?
+- autobus ...
Najlepšie je vždy priložiť prílohu. Tu je nejaký príklad HLOOKUP/VVYHLEDAT
Sorry, včera sa to poriadne pretiahlo. Nestihol som. Teraz ráno som to ešte trochu prerobil, len už nestíham, a neviem či som správne zeditoval všetky popisy. Dajte vedieť. Riešené pomocou kolekcií. Aj jedinečnosť aj vzostupné zoradenie. Na počet a súčet klasická WorksheetsFunction.
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.