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)