Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  38 39 40 41 42 43 44 45 46   další » ... 302

+- trolejbus

-s automatickou aktualizáciou zoznamu listov okrem výnimiek zadaných v makre
-ošetrenie neexistencie listu
-pri aktualizácii uchováva predošlé voľby

Vyberte si z toho čo chcete.

Prvý nástrel. Na viac nemám čas. Možno by bolo dobré, aby na to PQ mrkol nejaký PQ fachman, páč mi to PQ ide strašne pomaly, niečo tam nerobím košér ...
Makro zatiaľ nekontroluje existenciu listu, čo sa dá cez ExecuteExcel4Macro alebo ADO urobiť tiež bez otvárania súboru. Možno keď bude čas.

Ak máte Office 2019, 2021, 365, tak stačí funkcia MAXIFS
=MAXIFS(kalendář!A1:NA1;kalendář!A2:NA2;">"&0)
Ak starší tak
=LOOKUP(2;1/(kalendář!A2:NA2>0);kalendář!A1:NA1)
=VYHLEDAT(2;1/(kalendář!A2:NA2>0);kalendář!A1:NA1)

Tak nejdem zase písať elaborát o PQ. Ide tam vlastne hlavne o to, aby sa ošetrila možnosť, že budete/nebudete chcieť odfiltrovať chyby. Pretože na hromadné odfiltrovanie hodnôt sa použije List (zoznam), ale ten musí byť pre filter iba s jedinečnými hodnotami, a tie sa nedajú v Liste dosiahnuť, ak obsahuje Error. Preto čáry-máry s nahrádzaním za text "CHYBKA". Pre prípad, keď nebudete chcieť odfiltrovať chybu, je tam krok Priprava, ktorý v dátach mení chybu na "CHYBKA" iba v prípade, že odfiltrovávací List obsahuje "CHYBKA".
List.Distinct - jedinečné hodnoty
List.Transform - zmení hodnoty v Liste
each try Mazat{_} otherwise "CHYBKA" - nahradí chybu
List.Contains - test, obsahuje/neobsahuje danú hodnotu
each not List.Contains - vyberie iba riadky neobsahujúce nič z Listu

Tak to určite nie cez otváranie súborov. Extrémne pomalé. Listy, z ktorých budete čerpať údaje, sa volajú vo všetkých súboroch rovnako? Adresa údaju je na každom liste a vo všetkých súboroch rovnaká? Kopírovať treba iba hodnotu, alebo aj formát bunky, orámovanie, farbu a pod?

Priložte prílohu s príkladom. Riešením by bolo použiť "dolovacie vzorce" (čo je fakt rýchle, bez otvárania súborov) alebo PowerQuery (pre Office 2010+, bez makra a bez otvárania súborov).

Riešenie cez PowerQuery. Vypĺňate iba vstupnú Tabuľku na List1 a na liste Nastavenie nastavíte požadované parametre. Na liste PQ dáte iba Obnoviť všetko.

Tak to určite nestačí. Veď je tam niekoľko Definovaných názvov, ktoré to počítajú. Inak by to bol ohromne zložitý vzorec.

Niektoré Addins idú zapnúť/vypnúť takto:
Sub ON_OFF_ADDIN(ONOFF As Boolean)
Dim AD As AddIn
For Each AD In AddIns
Select Case AD.Title
Case "Euro Currency Tools", "niečo iné"
AD.Installed = ONOFF
End Select
Next AD
Set AD = Nothing
End Sub

Sub Zapni()
ON_OFF_ADDIN True
End Sub

Sub Vypni()
ON_OFF_ADDIN False
End Sub

Len info pre ostatných, ak by mal niekto podobný problém. Prišli sme na to, že problém nastáva pri kopírovaní CZ diakritiky. Konkrétne písmeno "ř" sa mení na znak priemeru "ø". Po ošetrení sa zdá, že nám to fachá.

Ale kontrolovať to nejdem...

Pridané riešenie PQ

Dnes ma neskutočne bolí rameno. Človek by neveril, ako hýbe ramenom pri prekladaní ruky z myši na klávesku. Ak to nepovolí, nerobím dnes ani prd ... sorry.

Vy makrom navyšujete alebo ponižujete hodnotu v bunkách. To nepôjde. Odkazovali by samé na seba - zacyklený odkaz. Neviem, či je možný na webe iretačný výpočet. Ak aj áno, je s tým naprd práca. Ľahko prídete o hodnotu.

"On Error Resume Next" som použil naschvál, kvôli tomu aby som sa o prípadnej chybe dozvedel, a dal ju najavo zvýraznením. Naproti tomu Val() bude chybu ignorovať. Viac riadkov kódu má svoje výhody. Z čoho vyplýva, že programovať robustný SW je vždy zložité, takže zabudnite na jednoriadkové všemakro na obsluhu TextBoxov pri použití na to, na čo neboli navrhnuté - na počítanie.

A tým sa dostávam k otázke: Prečo nemôžete použiť v Exceli jeho základnú funkcionalitu, na ktorú bol navrhnutý - počítanie v bunkách ???

50 TextBoxov má navzájom interagovať?

Private Sub TextBox2_Change()
Pocet_Prac_Hod
End Sub


Private Sub TextBox3_Change()
Pocet_Prac_Hod
End Sub


Sub Pocet_Prac_Hod()
Dim Vysledok As String
On Error Resume Next
Vysledok = TextBox2.Text * TextBox3.Text
TextBox4.Text = Vysledok
TextBox4.BackColor = IIf(Err.Number = 0, vbWhite, rgbOrange)
End Sub


Strana:  1 ... « předchozí  38 39 40 41 42 43 44 45 46   další » ... 302

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje