Hodnota bunky VBA - získať, nastaviť alebo zmeniť

Tento tutoriál vás naučí, ako komunikovať s hodnotami buniek pomocou VBA.

Nastavte hodnotu bunky

Ak chcete nastaviť hodnotu bunky, použite vlastnosť hodnota objektu Rozsah alebo Bunky.

Rozsah. Hodnota a bunky. Hodnota

Vo VBA existujú dva spôsoby odkazovania na bunky (bunky):

  • Objekt dosahu - Rozsah („A2“). Hodnota
  • Bunky Objekt - Bunky (2,1). Hodnota

Objekt Range vám umožňuje odkazovať na bunku pomocou štandardného zápisu „A1“.

Tým sa nastaví hodnota rozsahu A2 = 1:

1 Rozsah („A2“). Hodnota = 1

Objekt Bunky vám umožňuje odkazovať na bunku podľa čísla riadka a čísla stĺpca.

Nastaví sa hodnota rozsahu A2 = 1:

1 Bunky (2,1). Hodnota = 1

Všimnite si, že najskôr zadáte číslo riadka:

1 Bunky (riadkový_číslo, stĺpcový_číslo)

Nastavte hodnoty viacerých buniek naraz

Namiesto odkazovania na jednu bunku môžete odkazovať na rozsah buniek a zmeniť všetky hodnoty buniek naraz:

1 Rozsah („A2: A5“). Hodnota = 1

Nastaviť hodnotu bunky - text

Vo vyššie uvedených príkladoch nastavíme hodnotu bunky na číslo (1). Namiesto toho môžete nastaviť hodnotu bunky na reťazec textu. Vo VBA musí byť všetok text obklopený citátmi:

1 Rozsah („A2“). Hodnota = „Text“

Ak text neobklopíte citátmi, VBA si bude myslieť, že odkazujete na premennú …

Nastavená hodnota bunky - premenná

Môžete tiež nastaviť hodnotu bunky rovnajúcu sa premennej

1234 Dim strText ako reťazecstrText = "Reťazec textu"Rozsah („A2“). Hodnota = strText

Získajte hodnotu bunky

Hodnoty buniek môžete získať pomocou rovnakej vlastnosti Value, akú sme použili vyššie.

Získajte hodnotu ActiveCell

Ak chcete získať hodnotu ActiveCell a zobraziť ju v okne so správou:

1 MsgBox ActiveCell.Value

Priradiť hodnotu bunky premennej

Ak chcete získať hodnotu bunky a priradiť ju k premennej:

123 Dim var ako Variantvar = rozsah ("A1"). Hodnota

Tu sme použili premennú typu Variant. Premenné variantov môžu akceptovať akýkoľvek typ hodnôt. Namiesto toho môžete použiť typ premennej String:

123 Dim var ako reťazecvar = rozsah ("A1"). Hodnota

Typ premennej reťazca bude akceptovať číselné hodnoty, ale uloží čísla ako text.

Ak viete, že hodnota vašej bunky bude číselná, môžete použiť typ dvojitej premennej (do dvojitých premenných je možné uložiť desatinné hodnoty):

123 Dim var ako Doublevar = rozsah ("A1"). Hodnota

Ak sa však pokúsite uložiť hodnotu bunky obsahujúcej text do dvojitej premennej, zobrazí sa chyba nesúladu typu:

Ďalšie príklady hodnoty bunky

Skopírujte hodnotu bunky

Je ľahké nastaviť hodnotu bunky, ktorá sa rovná inej hodnote bunky (alebo „skopírovať“ hodnotu bunky):

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

Môžete to dokonca urobiť s rozsahmi buniek (rozsahy musia mať rovnakú veľkosť):

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

Porovnajte hodnoty buniek

Hodnoty buniek môžete porovnávať pomocou štandardných operátorov porovnávania.

Otestujte, či sú hodnoty buniek rovnaké:

1 Rozsah MsgBox ("A1"). Hodnota = rozsah ("B1"). Hodnota

Ak sú hodnoty buniek rovnaké, vráti hodnotu TRUE. V opačnom prípade NEPRAVDA.

Môžete tiež vytvoriť príkaz If na porovnanie hodnôt buniek:

12345678910111213 Ak je rozsah („A1“). Hodnota> Rozsah („B1“). Hodnota potomRozsah („C1“). Hodnota = „Väčší ako“Iný rozsah („A1“). Hodnota = rozsah („B1“). Hodnota potomRozsah („C1“). Hodnota = „Rovnaké“InakRozsah („C1“). Hodnota = „Menej ako“Koniec Ak

Text môžete porovnávať rovnakým spôsobom (Nezabudnite, že VBA rozlišuje veľké a malé písmena).

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave