Hodnota VBA | Jak používat vlastnost Excel VBA Value? (Příklady)

Vlastnost hodnoty Excel VBA

Hodnota je vlastnost ve VBA, která se většinou používá s metodou rozsahu k přiřazení hodnoty ke konkrétnímu rozsahu, jedná se o vestavěný výraz ve VBA, například pokud použijeme rozsah („B3“). Value = 3 this will assign buňka B3 má hodnotu 3, nemusí se nutně používat vlastnost value pouze u metody range, kterou můžeme použít iu jiných funkcí.

Na začátku našeho učení pomocí VBA jsme tak zvědaví, jak se naučit ukládat data do buněk. Pokud jste zvědaví, musíte pochopit vlastnost „Hodnota“. V tomto článku vám vysvětlíme vlastnost „Hodnota“, jak vložit nebo nastavit hodnoty, jak získat hodnotu z buňky a mnoho dalších věcí.

V jednom z dřívějších článků jsme diskutovali o „VBA Range Cells“. Objekt rozsahu nám může pomoci odkazovat na jednu i více buněk. Chcete-li nejprve použít objekt RANGE, musíme se rozhodnout, pro kterou buňku musíme vložit hodnotu a jakou hodnotu chceme vložit.

Jak používat vlastnost Value ve VBA?

Tuto šablonu aplikace VBA Value Function Excel si můžete stáhnout zde - šablonu aplikace VBA Value Function Excel

Příklad č. 1 - Objekt rozsahu pro přiřazení hodnot buňkám

  • Například pokud chcete vložit hodnotu do buňky A1, měli byste buňku A1 označit jako tento rozsah („A1“)

Kód:

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

  • Po doporučení buňky pomocí RANGE objektu nyní vložte tečku (.), Abyste zobrazili seznam IntelliSense všech vlastností a metod přidružených k tomuto objektu.

Kód:

Rozsah dílčí hodnoty () ("A1"). End Sub

  • Z této řady možností vyberte vlastnost „HODNOTA“.

Kód:

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

  • Jakmile je vybrána vlastnost „HODNOTA“, musíme nastavit hodnotu na buňku A1 vložením hodnoty do znaménka rovná se.

Kód:

 Sub Value () Range ("A1"). Value = "Welcome to VBA" End Sub 

  • Dobře, tím se do buňky A1 vloží hodnota „Vítejte ve VBA“.

  • Pokud chcete vložit stejnou hodnotu do více buněk, odkazujte na buňky jako níže uvedený kód.

Kód:

 Rozsah dílčí hodnoty () ("A1: A5"). Hodnota = "Vítejte ve VBA" Konec díl 
  • Tím se vloží hodnota z buňky A1 do A5 .

  • Pokud chcete vložit hodnoty do různých buněk, ale ne pro řadu buněk, musíme použít kód a adresu buňky v samostatných argumentech, jako je níže.

Kód:

 Rozsah dílčí hodnoty () ("A1, A5, B4, C2"). Hodnota = "Vítejte ve VBA" Konec dílčí 
  • Tím se do buněk A1, A5, B4 a C2 vloží text „Vítejte ve VBA“ .

Příklad č. 2 - Vložte hodnotu pomocí vlastnosti CELLS

Ne prostřednictvím objektu RANGE, ale také pomocí vlastnosti VBA CELLS můžeme vkládat hodnoty. Ale jeden z problémů s objektem CELLS je, že nedostaneme přístup k seznamu IntelliSense, jak jsme dostali pro RANGE objekt.

Zde musíme zmínit čísla řádků a sloupců, které potřebujeme k vložení hodnoty. Například pokud chcete vložit hodnotu do buňky A1, pak je kód CELLS (1,1), pokud chcete vložit hodnotu do buňky B5, pak je kód CELLS (5,2), tj. Roven B5 buňka.

Nemůžeme vložit hodnoty do více buněk pomocí vlastnosti CELLS, je to na rozdíl od našeho RANGE objektu.

Příklad č. 3 - Získejte hodnotu buňky

Viděli jsme, jak vložit hodnoty do buněk, nyní uvidíme, jak získat hodnoty z buněk.

Krok 1: Definujte proměnnou jako řetězec.

Kód:

 Sub Value () Dim K As String End Sub 

Krok 2: Pro tuto proměnnou „k“ přiřadíme hodnotu buňky A1. V buňce A1 jsem zadal hodnotu „Vítejte ve VBA“.

Kód tedy bude k = Rozsah („A1“). Hodnota

Kód:

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

Krok 3: Zobrazte výsledek proměnné „k“ v okně se zprávou VBA.

Kód:

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

Spuštěním kódu bychom měli výsledek hodnoty buňky A1 v okně se zprávou.

Můžeme také použít objekt RANGE k získání dat buňky A1, níže uvedený kód vám ukáže to samé.

Kód:

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

To by mělo také získat hodnotu buňky A1 v okně se zprávou.

Příklad 4 - Chybová hodnota, pokud to vyžaduje více než jedna hodnota buňky

Například se podívejte na níže uvedený kód.

Kód:

 Sub Value () Dim K As Range Set CellValue = Range ("A1: A5") MsgBox CellValue End Sub 

Pokud spustíte výše uvedený kód, zobrazí se chyba „Neshoda typu“.

Důvod, proč se nám tato chyba zobrazuje, protože když proměnná objektu nastavená na více než jednu vlastnost „hodnota“ buňky ve skutečnosti nerozumí, která hodnota buňky má být zadána, může tedy získat jednu hodnotu buňky najednou.


$config[zx-auto] not found$config[zx-overlay] not found