Stránka 1 z 1

Makro v Excelu

Napsal: 27 dub 2017 15:18
od ondra030
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

Re: Makro v Excelu

Napsal: 27 dub 2017 16:16
od atari
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

Re: Makro v Excelu

Napsal: 28 dub 2017 03:20
od guest
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.

Re: Makro v Excelu

Napsal: 28 dub 2017 14:56
od atari
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.

Re: Makro v Excelu

Napsal: 28 dub 2017 20:38
od guest
Já tu ale blbovzdornost neřeším. Ostatně to bych měl výhrady i k samotnému nápadu a zadání.