Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

pátek 29. listopadu 2013

Načítání hodnot proměnných z buněk v makrech

V tomto článku se podíváme na jedno základní, užitečné a jednoduché téma z oblasti VBA - načítání hodnot proměnných z buněk.

Příklad

Řekněme, že mám v buňce A1 číslo (nebo text nebo cokoliv), které chci načíst do proměnné "a". Proto, abych s ním mohl nějak počítat nebo provádět libovolné psí kusy.
Otázka tedy je, jak tuto hodnotu vzít z buňky a uložit ji do hodnoty.

Návod

Existuje několik způsobů (i jiné než uvádím tady), a použiji je podle situace.

Načtení proměnné "a" na základě názvu listu a názvu oblasti

a = Worksheets("List1").Range("a1").Value

Načtení proměnné "a" z aktivního listu na základě názvu oblasti

a = ActiveSheet.Range("a1").Value

Načtení proměnné "a" z aktivního listu na základě souřadnic buňky

a = ActiveSheet.Cells(1, 1).Value

Načtení proměnné "a" z aktivní buňky

a = ActiveCell.Value

Příklad makra

Například toto makro zařídí, že excel pípne tolikrát, jak vysoké je číslo v buňce A1.
Neříkám, že zrovna bez tohoto makra nepřežijete, ale jako příklad je to snad OK.

'Název makra a jeho začátek
Sub nacitanihodnot()
    'To, co je v bunce A1, se uloží jako proměnná "a"
    a = Worksheets("List1").Range("a1").Value
    'Zacatek cyklu - ten se bude opakova, dokud nebude "b" (to zacina na nule) stejně velké jako "a"
    Do Until b = a
        '"b" se zvetsi o jednicku
        b = b + 1
            'Pipnuti
            Beep
            'Poseckani jednu vterinu - aby pipnuti nesplynula do jednoho
            Application.Wait (Now + TimeValue("0:00:01"))
    'Navrat na zacatek cyklu - pokud tedy uz neni "a" stejne velke jako "b"
    Loop
'Konec makra

End Sub

3 komentáře:

  1. Super, tri dny jsem hledal jak vlozit cislo z bunky do promenne v makru a tady to je. Klobouk dolu OK
    a = ActiveSheet.Range("V4").Value

    OdpovědětVymazat
  2. Dobrý den,

    měl bych dotaz k tomuto článku, zda je možné nějak do připojení na SQL v textu příkazu použít odkaz na buňku např. v druhém listu?
    Např.něco takového : SELECT Jmeno FROM Zamestnanci WHERE Jmeno = List2.A1
    ?
    Mám MS Excel 2007
    Předem děkuji.

    OdpovědětVymazat
  3. Dobrý den, v tomhle neporadím, podobný problém jsem zatím neřešil.

    OdpovědětVymazat