Hodnota VBA | Ako používať vlastnosť hodnoty Excel VBA? (Príklady)

Vlastnosť hodnoty Excel VBA

Hodnota je vlastnosť vo VBA, ktorá sa väčšinou používa pri metóde rozsahu na priradenie hodnoty konkrétnemu rozsahu. Je to vstavaný výraz vo VBA, napríklad ak použijeme rozsah („B3“). Value = 3 toto priradí bunka B3 hodnotu 3, nemusí sa nevyhnutne táto hodnota používať iba pri metóde rozsahu, môžeme ju použiť aj pri iných funkciách.

Hneď na začiatku nášho učenia sa pomocou VBA sme tak zvedaví, ako sa dozvedieť, ako ukladať údaje do buniek. Ak ste zvedaví, musíte pochopiť vlastnosť „Hodnota“. V tomto článku vám vysvetlíme vlastnosti „Hodnota“, ako vkladať alebo nastavovať hodnoty, ako získať hodnotu z bunky a mnoho ďalších vecí.

V jednom z predchádzajúcich článkov sme diskutovali o „bunkách rozsahu VBA“. Objekt rozsahu nám môže pomôcť odkázať na jednu aj viac buniek. Aby sme najskôr mohli použiť objekt RANGE, musíme sa rozhodnúť, do ktorej bunky potrebujeme vložiť hodnotu a akú hodnotu vložíme.

Ako používať Value Property vo VBA?

Túto šablónu VBA Value Function Excel si môžete stiahnuť tu - Šablónu VBA Value Function Excel

Príklad č. 1 - Objekt rozsahu na priradenie hodnôt bunkám

  • Napríklad, ak chcete vložiť hodnotu do bunky A1, mali by ste bunku A1 označiť ako tento rozsah („A1“)

Kód:

 Sub Value () Range ("A1") End Sub 

  • Po odkázaní na bunku pomocou objektu RANGE teraz vložte bodku (.), Aby ste videli zoznam IntelliSense všetkých vlastností a metód spojených s týmto objektom.

Kód:

Rozsah podhodnoty () ("A1"). Koniec Sub

  • Z tejto rozmanitosti možností vyberte vlastnosť „HODNOTA“.

Kód:

 Rozsah vedľajšej hodnoty () ("A1") 

  • Po výbere vlastnosti „VALUE“ musíme nastaviť hodnotu na bunku A1 vložením hodnoty do rovnakého znamienka.

Kód:

 Rozsah podhodnoty () ("A1"). Hodnota = "Vitajte vo VBA" Koniec pod 

  • Dobre, týmto sa do bunky A1 vloží hodnota „Vitajte vo VBA“.

  • Ak chcete vložiť tú istú hodnotu do viacerých buniek, potom bunky označte ako nasledujúci kód.

Kód:

 Rozsah podhodnoty () ("A1: A5"). Hodnota = "Vitajte vo VBA" Koniec pod 
  • Týmto sa vloží hodnota z bunky A1 do A5 .

  • Ak chcete vložiť hodnoty do rôznych buniek, ale nie do sérií buniek, musíme použiť kód a adresu bunky v samostatných argumentoch, ako je uvedené nižšie.

Kód:

 Rozsah podhodnoty () ("A1, A5, B4, C2"). Hodnota = "Vitajte vo VBA" End Sub 
  • Týmto sa do buniek A1, A5, B4 a C2 vloží text „Vitajte vo VBA“ .

Príklad č. 2 - Vložte hodnotu pomocou vlastnosti CELLS

Nie prostredníctvom objektu RANGE, ale aj pomocou vlastnosti VBA CELLS môžeme vkladať hodnoty. Ale jeden z problémov s objektom CELLS je, že nezískame prístup k zoznamu IntelliSense, aký sme dostali pre objekt RANGE.

Tu musíme spomenúť čísla riadkov a stĺpcov, do ktorých potrebujeme vložiť hodnotu. Napríklad, ak chcete vložiť hodnotu do bunky A1, potom je kód CELLS (1,1), ak chcete vložiť hodnotu do bunky B5, potom je kód CELLS (5,2), teda rovný B5 bunka.

Nemôžeme vložiť hodnoty do viacerých buniek pomocou vlastnosti CELLS, je to na rozdiel od nášho objektu RANGE.

Príklad č. 3 - Získajte hodnotu bunky

Videli sme, ako vkladať hodnoty do buniek, teraz uvidíme, ako získať hodnoty z buniek.

Krok 1: Definujte premennú ako String.

Kód:

 Podhodnota () Dim K ako reťazec Koniec pod 

Krok 2: Tejto premennej „k“ priradíme hodnotu bunky A1. V bunke A1 som zadal hodnotu „Vitajte vo VBA“.

Takže kód bude k = Rozsah („A1“). Hodnota

Kód:

 Podhodnota () Dim K ako reťazec K = rozsah ("A1"). Hodnota Koniec pod 

Krok 3: Zobrazte výsledok premennej „k“ v okne správy VBA.

Kód:

 Sub Value () Dim K As String K = Range ("A1"). Hodnota MsgBox K End Sub 

Spustením kódu by sme mali byť výsledkom hodnoty bunky A1 v okne správy.

Môžeme tiež použiť objekt RANGE na získanie údajov bunky A1, nižšie uvedený kód vám ukáže to isté.

Kód:

 Subhodnota () Dim K As String Set CellValue = Range ("A1") MsgBox CellValue End Sub 

To by malo tiež získať hodnotu bunky A1 v okne správy.

Príklad 4 - Chybná hodnota, ak sa vyžaduje viac ako jedna hodnota bunky

Napríklad si pozrite nasledujúci kód.

Kód:

 Subhodnota () Dim K ako rozsah Nastavená CellValue = rozsah ("A1: A5") MsgBox CellValue End Sub 

Ak spustíte vyššie uvedený kód, zobrazí sa chyba „Type Mismatch“.

Dôvod, prečo sa nám zobrazuje táto chyba, pretože keď objektová premenná nastavená na viac ako jednu vlastnosť „hodnota“ bunky skutočne nechápe, ktorá hodnota bunky sa má dať, môže tak naraz získať jednu hodnotu bunky.