Spuštění makra pouze jednou Vyřešeno

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

Moderátor: Mods_senior

luko02420
Level 2
Level 2
Příspěvky: 189
Registrován: únor 12
Pohlaví: Nespecifikováno

Spuštění makra pouze jednou

Příspěvekod luko02420 » 26 lis 2020 08:58

Dobrý den, potřeboval bych poradit s makrem.
Jde udělat aby se mi při otevření sešitu, po kliknutí na tlačítko, makro spustilo pouze jednou?
Po uložení a znovu otevření sešitu zase pouze jednou?
Děkuji za pomoc.

Reklama
Uživatelský avatar
atari
Level 5.5
Level 5.5
Příspěvky: 2861
Registrován: říjen 08
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod atari » 26 lis 2020 10:41

Do Excelu vložíš jakýkoliv objekt (to bude to tlačítko), a přes pravé tlačítko myši mu přiřadíš makro.

A potom když na to tlačítko klikneš, tak se makro jednou spustí.

Uživatelský avatar
mmmartin
Moderátor
Master Level 9.5
Master Level 9.5
Příspěvky: 8926
Registrován: srpen 04
Bydliště: Praha
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod mmmartin » 26 lis 2020 10:56

A když na to tlačítko klikne podruhé?
ASUS Prime Z390-P / Hexa Core Intel core i5 Coffee Lake-S / Gigabyte GeForce GTX 650 Ti / FORTRON BlueStorm Bronze 80PLUS / W 10

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13
Guru Level 13
Příspěvky: 21927
Registrován: březen 10
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod ITCrowd » 26 lis 2020 11:04

Netuším, jestli to nelze jinak. Ale šlo by to možná takto:
- jednu buňku rezervovat pro kontrolní proměnnou
- při spuštění si makro zkontroluje buňku, když je prázdná, uloží hodnotu do buňky
- takže při dalším spuštění už v buňce hodnota je, tedy se makro neprovede.

A dodat makro, které se bude spouštět při ukládání souboru a bude mazat tu buňku...

Nebo makro může smazat ten objekt, kterým se spouští a při uložení ho zase doplní.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

luko02420
Level 2
Level 2
Příspěvky: 189
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Spuštění makra pouze jednou

Příspěvekod luko02420 » 26 lis 2020 11:16

ITCrowd píše:Netuším, jestli to nelze jinak. Ale šlo by to možná takto:
- jednu buňku rezervovat pro kontrolní proměnnou
- při spuštění si makro zkontroluje buňku, když je prázdná, uloží hodnotu do buňky
- takže při dalším spuštění už v buňce hodnota je, tedy se makro neprovede.

A dodat makro, které se bude spouštět při ukládání souboru a bude mazat tu buňku...

Nebo makro může smazat ten objekt, kterým se spouští a při uložení ho zase doplní.


Děkuji za inspiraci, hned jdu na to.

Uživatelský avatar
Grimm
Level 1.5
Level 1.5
Příspěvky: 128
Registrován: září 17
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod Grimm » 26 lis 2020 11:47

Můžeš použít globální proměnou, která si zachovává platnost do uzavření souboru.

Uživatelský avatar
atari
Level 5.5
Level 5.5
Příspěvky: 2861
Registrován: říjen 08
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod atari » 26 lis 2020 11:48

Aha, takhle jsem ten dotaz nepochopil.

Já bych to udělal jinak (abych to nemusel řešit přes buňku) jak navrhuje Grimm:

Tímto makrem do proměnné "povolit" zadám pravdu, to mě udělá Excel automaticky při otevření sešitu:
( https://office.lasakovi.com/excel/vba-p ... i-skriptu/ )

Kód: Vybrat vše

Private Sub Workbook_Open()
povolit = True
End Sub


A ve vlastním makru se příkaz vykoná jen pokud je hodnota "true" a pak se nastaví "falze", a tím je zajištěno, že se makro spustí jen při prvním stisknutí tlačítka:

Kód: Vybrat vše

Sub luko02420()
If povolit Then 'moje makro
povolit = falze
End Sub

Uživatelský avatar
Grimm
Level 1.5
Level 1.5
Příspěvky: 128
Registrován: září 17
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod Grimm » 26 lis 2020 12:33

Tak já to pochopil ještě trochu jinak než Atari, tedy bez automatického spuštění.
Kód se má spustit tlačítkem, ale pouze jednou, pokud dojde k uzavření sešitu kód bude možné znovu tlačítkem spustit viz soubor
Nemáte oprávnění prohlížet přiložené soubory.

Uživatelský avatar
atari
Level 5.5
Level 5.5
Příspěvky: 2861
Registrován: říjen 08
Pohlaví: Muž

Re: Spuštění makra pouze jednou

Příspěvekod atari » 26 lis 2020 12:46

Ano, přesně tuto funkcionalitu jsem navrhoval. Jenže Grimm to udělal inteligentněji (a hlavně jednodušeji), než já. :thumbup:

luko02420
Level 2
Level 2
Příspěvky: 189
Registrován: únor 12
Pohlaví: Nespecifikováno

Re: Spuštění makra pouze jednou  Vyřešeno

Příspěvekod luko02420 » 26 lis 2020 13:32

Děkuji všem za pomoc.
Nakonec budu muset použít radu jak píše ITCrowd, protože rada od Grimma byť je vynikající se mi bije s jiným makrem, které používám na automatickou zálohu při uzavření sešitu.
Pomoc od Grimma uchovám pro pozdější využití.
Ještě jednou děkuji


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • PC se spousti pouze s jednou pameti RAM
    od Deny18 » včera, 18:19 » v Problémy s hardwarem
    9
    181
    od Deny18
    dnes, 17:06
  • Uprava makra
    od luko02420 » 02 čer 2021 21:29 » v Kancelářské balíky
    2
    1594
    od luko02420
    13 čer 2021 08:57
  • Tisk pomocí makra
    od luko02420 » 31 kvě 2021 14:40 » v Kancelářské balíky
    12
    1184
    od luko02420
    01 čer 2021 11:24
  • H1 pouze na hlavní stránce
    od Montes » 22 bře 2021 15:40 » v Programování a tvorba webu
    2
    992
    od Montes
    23 bře 2021 11:37
  • BSOD pouze při hraní
    od Karel203 » 04 led 2022 19:01 » v BSOD (Blue Screen Of Death)
    11
    296
    od Karel203
    15 led 2022 11:16

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

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 0 hostů