Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  41 42 43 44 45 46 47 48 49   další » ... 289

Naschvál som tam pridal aby bola zobrazená pomlčka v tých bunkách so vzorcami v stĺpci Zařízení, aby neboli prázdne. Aby Vás trklo, že tam niečo je. Vidíte, že je tam vzorec odkazujúci na hlavičku Tabuľky? A tie krásne červeno+zelené dvojice súvisiacich dát (teda názov zariadenia+spotreba) mali byť jasné - pridávate dvojice stĺpcov, NIE RIADKY.

Riadky Tabuľky pridávate iba v prípade nedostatku predimenzovaných riadkov v ktoromkoľvek stĺpci, a to natiahnutím za pravydolný roh. Najskôr si ale posuňte tie spodné tbl. Samozrejme má Tabuľka vlastnosť automatického pridávania riadkov pripísaním dát do niektorého stĺpca, ale keďže vidím, že ste schopný prepísať ručne aj stĺpec so vzorcom, tak preto vravím ťahať za pravýdolný roh.

Ak tam chcete dať zariadenie ako zdroj energie, tak ho zapíšte so zápornou spotrebou. No akékoľvek počítanie prijatej energie z nestálych zdrojov diskvalifikuje celý výpočet - je nestabilné. Veď ten solár predsa nedodáva 24/7...

No ak ste dal povoliť pri otvorení súboru, tak fakt netuším, čím je táto hláška spôsobená. Ale vynašiel ste sa. Každopádne makro nepotrebujete, ak tie dáta ostávajú v Exceli. Potom je to zbytočný krok, a stačí to PQ.

PQ: A čo sa Vám na tom nezdá? Veď to dáva správny výsledok.
Iba v prípade, že súbor obsahuje diakritiku zmeňte
Encoding=1250
na
Encoding=65001
V PQ od "veny" je iba 1 parameter navyše, ktorý môj PQ nežerie, ak ani Váš, tak si parameter zmažte
#"Přidané: Index" = Table.AddIndexColumn(#"Změněný typ", "Index", 0, 1, Int64.Type),
na
#"Přidané: Index" = Table.AddIndexColumn(#"Změněný typ", "Index", 0, 1),

Inak oba PQ dávajú rovnaký výsledok. Len "lubo" konvertoval GB/US hodnoty na CZ a "veny" nie.

"Marekh" napsal/a:

ale pak při exportu do původního formátu zase ano.

Vy potrebujete z toho potom zase urobiť textový súbor s rovnakým formátom a Excel chcete použiť iba na tú redukciu?
Potom skúste jednoduché makro. Je naozaj jednoduché, lebo väčšina riadkov je označená "'info" a tie tam byť nemusia, sú len pre vizualizáciu. Pre samotnú úpravu súboru nie sú potrebné. Urobí nový súbor s prídávkom "_1" v názve.

PS: V prípade diakritiky napr. "Středa" vo vizuále vidíte chybu "StĹ™eda" ale v samotnom súbore je to OK.

Upozornenie vybehne, aj keď je spustené iné makro. Tu je príklad.
Aktivujte si v
Workbook_Open
Workbook_BeforeClose

variant, ktorý chcete.

Maticový vzorec (Ctrl+Shift+Enter) ?
=INDEX($C$3:$C$8;MATCH(MIN(IF($B$3:$B$8>=F3;$B$3:$B$8-F3;FALSE));IF($B$3:$B$8>=F3;$B$3:$B$8-F3;FALSE);0))
=INDEX($C$3:$C$8;POZVYHLEDAT(MIN(KDYŽ($B$3:$B$8>=F3;$B$3:$B$8-F3;NEPRAVDA));KDYŽ($B$3:$B$8>=F3;$B$3:$B$8-F3;NEPRAVDA);0))

prípadne
=LOOKUP(MIN(IF($B$3:$B$8>=F3;$B$3:$B$8-F3;FALSE));IF($B$3:$B$8>=F3;$B$3:$B$8-F3;FALSE);$C$3:$C$8)
=VYHLEDAT(MIN(KDYŽ($B$3:$B$8>=F3;$B$3:$B$8-F3;NEPRAVDA));KDYŽ($B$3:$B$8>=F3;$B$3:$B$8-F3;NEPRAVDA);$C$3:$C$8)

ale to je to isté. Nič iné ma nenapadá.

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...

??? Potom 1. zadanie neodpovedá tomu, čo ste chcel, veď v tom formulári máte požiadavku aj na počet/súčet jednotlivých zvolených hodnôt pre jednotlivé zvolené roky (a aj pre roky).
V tom prípade si urobte kontingenčnú tabuľku s počtami a súčtami. Bez makra.

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 0
Pridal 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 Sub
Sub 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í.


Strana:  1 ... « předchozí  41 42 43 44 45 46 47 48 49   další » ... 289

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

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28