Hodnota buňky VBA - získejte, nastavte nebo změňte

Tento tutoriál vás naučí, jak komunikovat s hodnotami buněk pomocí VBA.

Nastavit hodnotu buňky

Chcete -li nastavit hodnotu buňky, použijte vlastnost hodnota objektu Range nebo Cells.

Rozsah.Hodnota a buňky.Hodnota

Ve VBA existují dva způsoby, jak odkazovat na buňky:

  • Objekt rozsahu - Rozsah („A2“). Hodnota
  • Objekt buněk - Buňky (2,1). Hodnota

Objekt Range vám umožňuje odkazovat na buňku pomocí standardního zápisu „A1“.

Tím nastavíte hodnotu rozsahu A2 = 1:

1 Rozsah ("A2"). Hodnota = 1

Objekt Cells vám umožňuje odkazovat na buňku podle čísla řádku a čísla sloupce.

Tím nastavíte hodnotu rozsahu A2 = 1:

1 Buňky (2,1). Hodnota = 1

Všimněte si, že nejprve zadáte číslo řádku:

1 Buňky (počet řádků, počet řádků)

Nastavte hodnoty více buněk najednou

Namísto odkazování na jednu buňku můžete odkazovat na rozsah buněk a změnit všechny hodnoty buněk najednou:

1 Rozsah ("A2: A5"). Hodnota = 1

Nastavit hodnotu buňky - text

Ve výše uvedených příkladech nastavíme hodnotu buňky na číslo (1). Místo toho můžete nastavit hodnotu buňky rovnou řetězci textu. Ve VBA musí být veškerý text obklopen uvozovkami:

1 Rozsah ("A2"). Hodnota = "Text"

Pokud text neobklopíte uvozovkami, VBA si bude myslet, že odkazujete na proměnnou …

Nastavit hodnotu buňky - proměnná

Můžete také nastavit hodnotu buňky rovnou proměnné

1234 Dim strText jako řetězecstrText = "Řetězec textu"Rozsah ("A2"). Hodnota = strText

Získejte hodnotu buňky

Hodnoty buněk můžete získat pomocí stejné vlastnosti Value, kterou jsme použili výše.

Získejte hodnotu ActiveCell

Získání hodnoty ActiveCell a její zobrazení v okně se zprávou:

1 MsgBox ActiveCell.Value

Přiřadit hodnotu buňky proměnné

Chcete -li získat hodnotu buňky a přiřadit ji proměnné:

123 Dim var jako Variantvar = Rozsah ("A1"). Hodnota

Zde jsme použili proměnnou typu Variant. Proměnné variant mohou přijímat jakýkoli typ hodnot. Místo toho můžete použít typ proměnné String:

123 Dim var jako řetězecvar = Rozsah ("A1"). Hodnota

Typ proměnné řetězce bude přijímat číselné hodnoty, ale uloží čísla jako text.

Pokud víte, že hodnota vaší buňky bude číselná, můžete použít typ Double variable (Double variable can store decimal values):

123 Dim var jako Doublevar = Rozsah ("A1"). Hodnota

Pokud se však pokusíte uložit hodnotu buňky obsahující text do dvojité proměnné, zobrazí se chyba neshody typu:

Jiné příklady hodnoty buňky

Kopírovat hodnotu buňky

Je snadné nastavit hodnotu buňky rovnou jiné hodnotě buňky (nebo „Kopírovat“ hodnotu buňky):

1 Rozsah („A1“). Hodnota = Rozsah („B1“). Hodnota

Můžete to dokonce udělat s rozsahy buněk (rozsahy musí mít stejnou velikost):

1 Rozsah ("A1: A5"). Hodnota = rozsah ("B1: B5"). Hodnota

Porovnat hodnoty buněk

Hodnoty buněk můžete porovnávat pomocí standardních operátorů porovnání.

Otestujte, zda jsou hodnoty buněk stejné:

1 Rozsah MsgBox („A1“). Hodnota = Rozsah („B1“). Hodnota

Pokud jsou hodnoty buněk stejné, vrátí hodnotu TRUE. Jinak FALSE.

Můžete také vytvořit příkaz If pro porovnání hodnot buněk:

12345678910111213 Pokud Rozsah („A1“). Hodnota> Rozsah („B1“). Hodnota PotomRozsah („C1“). Hodnota = „Větší než“Jinak Rozsah („A1“). Hodnota = Rozsah („B1“). Hodnota PotomRozsah („C1“). Hodnota = „Rovné“JinýRozsah („C1“). Hodnota = „Méně než“Konec If

Text můžete porovnávat stejným způsobem (Pamatujte, že VBA rozlišuje velká a malá písmena)

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave