CheckBox nevyvoláva Worksheet_Change. Treba použiť fintu, skopírovania prepojenej bunky do inej bunky, a to vyvolá Calculate metódu. Viz príloha.
Iným riešeným by bolo použitie CheckBoxu ActiveX, ktorý ma OnClick metódu.
Presne tak:
Function ftbCheck(name As String) As Boolean
Dim Exist As Boolean
On Error Resume Next
Exist = Not ThisWorkbook.Worksheets("Hárok1").OLEObjects.Item(name) Is Nothing
ftbCheck = Exist
End Function
Sub test()
MsgBox ftbCheck("TextBox2")
End Sub
Ja nechcem rýpať páni, môžete ma ešte nasmerovať ako odstrániť označené ? Obe Vaše verzie mi zaokrúhľujú to posledné číslo...
Aké obe verzie?
Podmienený formát predsa nič nezaokrúhľuje iba zobrazuje.
A ak chceš zobraziť číslo 123456 na tri platné, tak vedeckým formátom 0,00 E+00(čo je univerzálne a mohlo by vyhovovať)
A to zaokrúhľovanie je predsa logické, to formát čísla predsa robí bežne.
Ja nechcem rýpať páni, môžete ma ešte nasmerovať ako odstrániť označené ? Obe Vaše verzie mi zaokrúhľujú to posledné číslo, a k tomu neviem formátom odstrániť celé čísla (teda ak je viac ako 3 nedesatinné miesta). Vlastne ani tým lubovím vzorcom. Nie som taký skúsený, ale na margo mi nedá sa nespýtať: INT vracia najbližšie menšie číslo - teda odreže desatiny pri kladnom, ale záporné "pokazí", ak to chápem dobre. Nebude tu ten problém so zaukrúhlením ? Ďalej keď zmením na 2 čísla, tak ten vzorec už zaokrúhli všetko na 0,13 ... 1,3 a pod.
Keď aj pominieme možnosť zmeny počtu čísel (to nebolo požadované), prosím o pomoc s pochopením, ako doriešiť to ostatné.
@ lubo: nič, samozrejme to nieje problém. Ale keďže sa do tabuľky sviatkov len tak nezasahuje, tak je zbytočný ďalší list, alebo tabuľka.
@ marjankaj: samozrejme, veď ten vzorec na výpočet veľkej noci v tom mojom podmienenom formátovaní mám.
@ Opičák: viď 2. veta pre "lubo" - nezavadzia tabuľka.
Neviem či som urobil ten Váš formát správne, pls junknite. Ak áno, tak takto to asi nemyslel. Formátom by som to nevedel, ale vzorcom by sa to dalo riešiť napr. takto.
To ale nebude fungovať, tak ako som písal, keď budú dáta z viacerých rokov.
Vyskúšajte toto. Je to taká "berlička", keďže pôvodný zámer s maticovou konštantou s aktuálne počítaným rokom nevyšiel, lebo do konštanty nejde vložiť vzorec, a pomocná tabuľka sa tiež nedá použiť, keďže nie je možné do nej vkladať rok, keď nevieme, či bude tabuľka napr pokračovať ďalším rokom, atď., tak som vydumal pomocný reťazec. Mrknite si podmienený formát.
EDIT: Napísal som to minútu po Lubovi, opäť som to nestihol :). Každopádne som zistil, že som zabudol v prílohe zbytočný pokusný list "Svatky" - NIEJE potrebný, tak si ho zmažte. Aktualizovaná príloha.
Vzorcovo je to asi jediné možné riešenie, čo poslal marjankaj, práve kvôli tomu, prečo je tam bod 3. Ak by ste to chceli robiť nejako často, môžete to zautomatizovať aj s voľbami počtu a zastúpenia, ale iba makrom. Napr. nejako takto.
Len pre zaujímavosť doplním...
Dá sa v pohode pracovať aj s milisekundami. Tu som Vám urobil prebliknutie nápisu, ktoré je zobrazené voliteľný počet milisekúnd. Absolútne mi ale uniká zmysel iba prebliknutia oznamu o skončení operácie, mrknem totiž okom a uvidím prd ... Preto som pridal aj Beep.
To Vaše makro mi príde zložité.
kopiruj2 - posledný riadok jedného listu
kopiruj3 - posledné riadky listov v poli
Za posledný riadok sa považuje posledný riadok v stĺpci A.
Vy nám ale dávate ... slovné úlohy v našom veku už moc nefrčia
Skúsim teda hádať. Máte tam 2 možnosti.
1. VLOOKUP / SVYHLEDAT - prehľadáva prvý stĺpec oblasti, a vráti hodnotu v zadanom stĺpci (Q) z riadku so zhodou.
2. MATCH / POZVYHLEDAT + INDEX - prehľadá hociktorý stĺpec, a vráti hodnotu v nájdenom riadku z iného hociktorého stĺpca.
Tipujem, že vyhľadávaná hodnota bude staticky umiestnená, čiže $E$1.
Ak tipujem zle, a v liste 2 budete mať viacero riadkov, pričom sa bude vyhľadávať vždy hodnota zo stĺpca E v danom riadku, tak zmente $E$1 na $E1.
??? Určite Vám niekto pomôže, len to skúste popísať v prílohe na konkrétnom príklade, pretože takto nevieme čo potrebujete.
@Richard99: To práve nepočíta s dňami ani so zápornými hodnotami.
Môj posledný návrh:
1. môj pôvodný vzorec (iba vynásobené 24*60 = 1440) (-d h m)
2. skrátený vzorec (-d h m)
3. miniaturizovaný vzorec, ale iba na minúty celkovo (-m)
4. vzorec s definovanými názvami, a skloňovaním (deň, dni, dní) všetkých 3 hodnôt (-dni hodiny minúty)
A už na to kafrem
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.