Makro v Excelu

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

Moderátor: Mods_senior

ondra030
nováček
Příspěvky: 1
Registrován: duben 17
Pohlaví: Muž
Stav:
Offline

Makro v Excelu

Příspěvekod ondra030 » 27 dub 2017 15:18

Nazdar,

potřeboval bych pomoct. Potřebuji makro, které se zapne, při změně buňky a přitom podle dané hodnoty buňky. Příklad: v buňce např. C1 napíšu A ,tak se mi zapne makro s názvem A, pokud v buňce bude B ,zapne se mi makro s názvem B.

Předem díky za pomoc.

Ondra

Reklama
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3351
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Makro v Excelu

Příspěvekod atari » 27 dub 2017 16:16

Kód vlož do Listu.
Toto jsou základy VBA a zde je to hezky popsáno: http://office.lasakovi.com/excel/vba-li ... excel-vba/

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "A" Then Call Makro_A
If Target.Value = "B" Then Call Makro_B
End Sub

guest
Pohlaví: Nespecifikováno

Re: Makro v Excelu

Příspěvekod guest » 28 dub 2017 03:20

Modul daného listu:

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)

    'je menenou bunkou C1?
    If Target.Address(False, False) = "C1" Then

        'spustit makro s nazvem dle obsahu bunky
        Application.Run Target.Text

    End If

End Sub


Application.Run je v tomto flexibilnější než Call.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3351
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Makro v Excelu

Příspěvekod atari » 28 dub 2017 14:56

Ano to je pravda. Ale v případě že v buňce bude jiný obsah, než je název makra, tak to hodí chybu, což je potřeba ošetřit.

guest
Pohlaví: Nespecifikováno

Re: Makro v Excelu

Příspěvekod guest » 28 dub 2017 20:38

Já tu ale blbovzdornost neřeším. Ostatně to bych měl výhrady i k samotnému nápadu a zadání.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

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

Kdo je online

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