Excel (vba) - změna v buňce spustí makro

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19325
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Excel (vba) - změna v buňce spustí makro

Příspěvekod X » 14 lis 2019 23:47

Ještě jsem svůj postup trochu vylepšil a pokud potřebujete více oblastí které skrýváte (kolaps) a odkrýváte (expand), jistě vám toto vylepšení přijde vhod:

- zbavme se nadbytečných příkazů: ActiveSheet., protože každá tečka v příkazech prodlužuje časovou náročnost vykonání + nemusíme psát příkaz Call, v tom případě se pro parametry nesmí psát závorky!

- použijme makro s parametry (tedy technicky vzato proceduru), sice jakmile v Excelu ve VBA napíšeme sub s parametry, tak se nám ztratí z přehledu maker pro vybrání (zde technicky zdatní uživatelé / programátoři - jistě zavětří, protože na českém webu jsem o tom nenašel jedinou zmínku a tak nejspíš minimálně v ČR tento trik nebude známý), ale pomocí malého hacku jsou možná i "makra" s parametry. Do tabulky si je zapíšeme ručně (či zkopírujeme a vložíme), tvar zápisu pro "makro" se 2 řetězcovými parametry:

Kód: Vybrat vše

'jmenomakra "parametr1", "parametr2"'

Pokud parametr nebude řetězec (string), bude číslo bez uvozovek!

Obrázek

Obrázek

Reklama
Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19325
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Excel (vba) - změna v buňce spustí makro

Příspěvekod X » 15 lis 2019 10:57

Ještě upozorňuji na to, že tento malý hack (trik):

Kód: Vybrat vše

'jmenomakra "parametr1", "parametr2"'

... není kompatibilní s uložením Excelu ve formátu*.xlsb(binarní forma uložení Excelu s podporou maker), dělá to neplechu (chyby)!

Ovšem formát: *.xlsm (uložení Excelu s podporou maker) je zcela bez problémů a: *.xls (binární formát Excelu do roku 2003 - podporuje i makra) je také v pohodě!

Jen pokud budete konvertovat *.xls >>> *.xlsm, je potřeba smazat tato volání procedur s parametry z listů a zadat je znova, protože při této konverzi vám Excel tato volání přejmenuje (a tak přestanou fungovat), nejspíš Excel narazí při konverzi na stejné hodnoty, které neumí rozlišit a tak přejmenovává tato nedokumentovaná volání "maker" s parametry.

Jinak ale vše funguje zcela bezproblémově - stačí jen používat*.xlsmnebo případně zastaralý (kompatibilní formát do roku 2003, pokud máte potřebu)*.xls


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1111
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • změna CPU?
    od sign0r » 07 říj 2023 21:32 » v Rady s výběrem hw a sestavením PC
    3
    1539
    od Alferi Zobrazit poslední příspěvek
    07 říj 2023 22:08
  • Ikony změna
    od DanteJo94 » 14 srp 2023 10:26 » v Mobily, tablety a jiná přenosná zařízení
    0
    1606
    od DanteJo94 Zobrazit poslední příspěvek
    14 srp 2023 10:26
  • Zmena IP adresy
    od ShadowWord:Pain » 15 zář 2023 09:49 » v Sítě - hardware
    11
    2215
    od petr22 Zobrazit poslední příspěvek
    15 zář 2023 12:48
  • Změna hesla
    od draxxx » 25 říj 2023 20:49 » v Windows 11, 10, 8...
    0
    1306
    od draxxx Zobrazit poslední příspěvek
    25 říj 2023 20:49

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů