Ahoj, Karle. Mam dojem, ze manualny prepocet som skusal, ale co si pamatam, tak to nepomohlo. Vyskusam znovu a dam vediet. Kazdopadne, ten prepocet musi byt v jednotlivych chvilach automaticky, resp. bolo by potrebne zosit nechavat prepocitavat po roznych udalostiach, ktorych mozu nastat desiatky, takze by to vyzadovalo dalsie riadky kodu na roznych miestach v projekte, spustu ladenia atd. Pri aplikacii toho podm. formatovania je mimo ineho extremne pomale napr. i filtrovanie v danej Excel Table. To podm. formatovanie tam samo osebe nema skoro ziadnu vypovedaciu hodnotu a kedze to nakoniec uznala i sefova, tak skutocne nemam dovod komplikovane riesit nieco, co v subore vlastne nakoniec vobec byt nemusi. Ale zo zaujmu este raz ten manualny prepocet pri otvarani suboru vyskusam a dam vediet.
No tak slava, po par mesiacoch som na to prisiel. Cely problem s casom otvarania suboru je sposobeny podmienenym formatovanim. Vedel som, ze podmienene formatovanie je narocne na systemove prostriedky, ale ze to v tomto pripade sposobi, ze subor sa otvara cca 6,5 minuty, pokial ho odstranim, tak cca 15-20 sekund, ma skutocne prekvapilo. Zaujimave je, ze odstranenim podmienenho formatovania sa velkost suboru prakticky nezmenila.
Samotne podmienene formatovanie (pravidlo) bolo dedicstvo po kolegovi. Testovalo podmienku na duplicitne hodnoty a prehladavalo velky rozsah zaznamov v Excel Table, cca 17 tis. poloziek. Slo by to vyriesit inak, skrz pomocny stlpec s countif a pravidlo potom naviazat na tento pomocny stlpec. Ale sefova dnes pripustila, ze to podmienene formatovanie vlastne nikto nepotrebuje, takze som ho uplne odstranil a problem je vyrieseny.
Zaver: Podmienene formatovanie pouzivat striedmo, premysliet logiku a pripadne dopady na performance suboru a snazit sa vyvarovat pouzitiu na velky rozsah zaznamov, pokial to je mozne...
Vsetkym, ktori tuna prejavili ochotu pomoct, dakujem!
Petře, asi je to blbosť, pýtať sa na to zrovna Teba, ale pre istotu:
1. K súborom daného typu je na danej stanici Excel asociovaný ako program, ktorým má byť súbor otvorený/spustený?
2. Neotvára sa to náhodou v nejakej novej/skrytej inštancii, čo by sa dalo zistiť v správcovi úloh?
Google si asi tiež skúšal, ale pre istotu:
https://www.think-cell.com/en/support/kb/0045.shtml
https://support.microsoft.com/en-us/help/2994633/excel-how-to-troubleshoot-excel-opening-blank-when-you-double-click-a
https://excel.tips.net/T002949_Cannot_Double-Click_to_Open_a_Workbook.html
https://www.techrepublic.com/forums/discussions/excel-file-not-opening-with-double-click/
Do googlu som dal "double click on xlsx file does not open", vypadlo na mňa pár ďalších linkov, mimo hore uvedených.
Prilohu nevidim, ale obecne sa da pouzit nejaka podmienka (If), osetrenie chyby (On Error), eventualne skok niekam - malo by byt pouzivane vynimocne (GoTo)
Som na 99% presvedceny, ze dotaz sa tykal tabulky, takze si dal urcite pouzitelny navod. Moj povzdych kol Excel Tables bola len poznamka na okraj. Kde sa da, z mnohych dovodov preferujem Excel Tables a od vyvojarov MS by som uvital, keby casom umoznili podobne vlastnosti (CustomViews atd.) i nad Excel Tables.
@lubo
skoda, ze CustomViews nefunguju nad Excel Tables.
Vskutku zaujimava reakcia na pomoc...
Z tvojej odpovede nie je jasné, ktoré riešenie pokladáš za super.
Nie je mi známy spôsob, ako priamo v KT zobraziť hodnotu pozície PivotFieldu. Podľa môjho názoru žiadny taký spôsob neexistuje, mám za to, že by popieral logiku KT.
Snad takto:Sub test()
Dim pt As PivotTable, cell As Range
Set pt = ActiveSheet.PivotTables(1)
pt.DataBodyRange.Cells(1, 1).Offset(-1, 1) = "Úroveň"
For Each cell In pt.RowRange
If cell.PivotCell.PivotCellType = 1 Then cell.Offset(0, 2) = cell.PivotCell.PivotField.Position
Next cell
End Sub
napr. takto:=(SUM(INDEX($M$3:$AY$3; MATCH(MONTH(AktualneDatum)&"-"&YEAR(AktualneDatum); $M$4:$AY$4&"-"&$M$2:$AY$2; 0)):
INDEX($M$3:$AY$3;MATCH(MONTH(AktualneDatum)&"-"&YEAR(AktualneDatum);$M$4:$AY$4&"-"&$M$2:$AY$2;0)+IF(MONTH(AktualneDatum)<=5;7;8)))
-IF(MONTH(AktualneDatum)<=5;0;SUMIF($M$4:$AY$4; YEAR(AktualneDatum); $M$3:$AY$3)))/
8-maticovo
Ako to súvisí s pôvodnou otázkou vo vlákne?
No nič, trebárs takto:Sub test()
Dim MonthSelected As Boolean
If Not Intersect(ActiveCell, [C18:D48]) Is Nothing Then
MsgBox "duben"
MonthSelected = True
End If
If Not Intersect(ActiveCell, [K18:L48]) Is Nothing Then
MsgBox "květen"
MonthSelected = True
End If
If MonthSelected = False Then MsgBox "měsíc nevybrán"
End Sub
Asi by bolo dobré uvedomiť si, že aktívnou bunkou môže byť vždy len jedna. Riešenie odpovedá na otázku.
Keď už som sa s tým ondil, tak to sem dám.
Funguje na Sheete 1, rozsah, kde sa to má používať, by asi chcelo upraviť. Moc som to neladil a netestoval na chyby, ale základ je funkčný.
edit: omylom som zmazal makro, tak som to musel vytvoriť ešte raz, do šlaka :), je tam opravená príloha
Pokiaľ máš po ruke prevodník RAL na RGB tak by nemal byť problém hodnoty RGB využiť v užívateľskej funkcii, ktorou budeš meniť vlastnosť .Interior.Color príslušnej bunky.
Prevodník je napr. tuná: http://rgb.to/. Ale chcelo by to vo forme tabuľky, kde budú jednotlivé farby, hľadať ich rad za radom je pakáreň.
Je úplne jedno, či napíšeš v skalárnom súčineB28='Report Data'!B:B alebo'Report Data'!B:B=B28 oboje totiž porovnáva hodnotu z bunky B28 voči hodnotám v stĺpci B na liste Report Data. A oba z výrazov vracajú pre jednotlivé riadky hodnotu PRAVDA/NEPRAVDA. Výsledok PRAVDA*PRAVDA je potom rovný 1, výsledky PRAVDA*NEPRAVDA, NEPRAVDA*PRAVDA a NEPRAVDA*NEPRAVDA sú vždy 0. Skalárny súčet nakoniec sčíta jedničky a nuly z jednotlivých riadkov, takže dá súčet jedničiek.
Každý z činiteľov v nasledovnom výraze'Report Data'!AA:AA<>"")
*NOT(ISNUMBER('Report Data'!AA:AA))
*(B28='Report Data'!B:B)
*(E28='Report Data'!A:A)
*IF($U$7="*";1;$U$7='Report Data'!E:E)
*IF($V$7="*";1;$V$7='Report Data'!J:J)
*IF($W$7="*";1;$W$7='Report Data'!I:I) nadobúda hodnotu buď PRAVDA alebo NEPRAVDA. Ich prenásobením navzájom potom 1 alebo 0. A na konci potom prebehne sčítanie jedničiek a núl (súčet núl je pochopiteľne nula, takže vlastne sčítanie jedničiek).
tak slava, snad si logiku pochopil
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.