Kousek makra, který v tomto návodu uvádím, je opravdu praktický a používám ho často.

Je to kód, který spouští libovolné makro - ovšem ne klasicky například tlačítkem, ale tím, že se změní hodnota některé buňky.

Použitím tohoto makra často v aplikacích odpadá nutnost makra fyzicky spouštět - spouští se sama, často tak, že o jejich přítomnosti uživatel ani neví.

Toto makro je dost netypické v tom, že se nevkládá do modulů VBA, ale do konkrétního listu:

makro

Následuje ke stažení ukázka konkrétního využití tohoto způsobu spouštění makra.

auta_makro_filtr_automaticke_spousteni

12 Comments

  1. Dobrý den,
    máme v práci problém s tabulkou do které se zapisují data o příjezdu vozidel a uživatel sešitu by měl každou minutu data uložit aby se zobrazili na jiném monitoru kde se tabulka o vozidlech zobrazuje nepřetržitě.Ale k tomu ho nelze donutit a informace na monitoru máme třeba 20 minut staré.Lze nějak vymyslet to aby se sešit ukládal sám po minutě? A když sešit uzavře aby ani nemusel nic ukládat proto že se to již uložilo?
    Moc děkuji za pomoc, nevíme si s tím rady a ani nevíme zda to jde. igor.f@email.cz

  2. Dotaz: funguje mi to ale jen tehdy, pokud změním hodnotu bunky či oblasti zadáním z klávesnice. Je tak? Potřeboval bych řešení, aby se provedlo makro, když se změní hodnota v určité bunce, kde je vzorec.
    Vzorec provádí výpočet podle dat z externího linku.

    Nebo alespon řešení, aby se provádělo makro např každou minutu, ale tak, aby makro bylo v kodu listu a nezatěžovalo tabulku, kde jsou prováděny trvale výpočty právě z hodnot externího linku.

  3. Dobrý den,

    snažím se dat dohromady makro, které mi bude delat nasledovné:
    mam udelanou tabulku na rizení ukolu (projektu) a potřeboval bych, aby kdyz se mi zmeni aktualní stav na hodnotu A, kde tato bunka muže nabývat pismeny A,B,C,D,F (toto je na jedno listu). Potřebuji nastavit makro tak, aby když mam hodnotu v bunce ¨A¨ pravě jen tuto hodnotu. Tak aby cely tento řádek kde se nachazi hodnota ¨A¨ v uvedené bunce vyjmul a překopiroval do druhého listu , kde je stejná tabulka a v prvním listu smaže celí řadek, aby tam nebyla prazdná místa. Na druhém lisu budou jen řádky kde bude hodnota A v uvedené buňce.
    Lze takoveto makro vybec v excelu nastavit?
    Dekuji

  4. Miloš – jde to, ale bylo by zřejmě nutné to přesně prozkoumat a pak napsat ne úplně jednoduché makro.

  5. Dobrý den,

    mohl byste mi prosím poradit, jaké zavolat makro pro změnu barvy buňky, ve které došlo ke změně hodnoty?

    Výsledek: Změní se hodnota buňky/buněk -> změní se barva buňky/buněk.

    Děkuji, PP

  6. Dobrý den, prostě přidáte makro, které mění barvu, a budete ho spouštět tím makrem, které tady uvádím… nevím jestli rozumím otázce.

  7. Mohl byste prosím konkrétně uvést to makro na změnu barvy? Moje mi nefunguje 🙂

  8. Ještě doplním, že jde o oblast, ve které dojde ke změnám v několika různých buňkách. Nikoli o jednu konkrétní buňku.

  9. Nakonec vyřešeno takto:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range(„A1:Z50“)

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
    Is Nothing Then

    Range(Target.Address).Interior.Color = RGB(144, 234, 128)

    End If
    End Sub

  10. Ahoj,
    poradí někdo s makrem, které by aktivovalo barvu prázdné buňky na základě údaje z buňky na jiném listě?
    Díky

  11. Dobrý den,
    potřebuji vyrobit formulář v excelu, ve kterém si názvy v buňkách zvolím česky / anglicky. Vše je OK, jenom mám problém s rolovacími seznamy – pokud změním jazyk, v buňkách s rolovacími výběry mi zůstanou údaje v původním jazyce, takže formulář nefunguje. Musím každou roletku otevřít a vybrat znovu. Nevím, zda je něco špatně v nastavení, nebo to je nutné řešit třeba makrem (při změně výběru jazyka se vše provede samo). Problém posílám emailem s přílohou.
    Díky za radu

Napsat komentář

Vaše emailová adresa nebude publikována.

*

smazat formulářOdeslat komentář