Hodnota VBA
Cesta VBA začína vedieť, ako sa hodnoty ukladajú do buniek. Preto je dôležitejšie poznať funkciu HODNOTA podľa VBA. Po preštudovaní vlastníctva VBA VALUE budete vedieť, ako sa hodnoty ukladajú pod VBA. V tomto článku sú vysvetlené všetky typy funkcií HODNOTA VBA, ako napríklad to, ako sa hodnota uloží v bunkách, horúcu na nastavenie hodnoty, ako vložiť hodnotu a mnoho ďalších.
Ako používať hodnotovú funkciu Excel VBA?
Naučíme sa, ako používať funkciu VBA Value s niekoľkými príkladmi v Exceli.
Túto šablónu VBA Value Excel si môžete stiahnuť tu - šablónu VBA Value ExcelPríklad č. 1 - Nastavte hodnotu bunky pomocou funkcie Range.Value
Nastavenie hodnoty bunky / buniek pomocou rozsahu. Hodnotová funkcia zhruba pozostáva z dvoch dôležitých krokov:
- Nastavenie rozsahu, v ktorom sa má hodnota uložiť.
- Priradenie hodnoty množine rozsahov.
Pri nastavovaní hodnoty v programe Excel VBA postupujte podľa nasledujúcich krokov:
Krok 1: Vložte nový modul do editora jazyka Visual Basic (VBE).
Krok 2: Definujte novú čiastkovú procedúru pod vloženým modulom tak, aby v nej bolo možné uložiť makro.
kód:
Sub VBA_Value_Ex1 () End Sub
Krok 3: Definujte novú premennú ako rozsah, ktorý sa dá použiť na definovanie rozsahu, v ktorom chcete hodnotu uložiť.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var ako Range End Sub
Krok 4: Pomocou funkcie VBA RANGE priraďte bunky v rozsahu k premennej definovanej pomocou operátora priradenia.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") End Sub
Krok 5: Teraz použite vlastnosť Range.Value, aby ste mohli priradiť hodnotu k definovanému rozsahu. Zadajte názov premennej „setValue_Var“, pod ktorým je rozsah definovaný.
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var End Sub
Krok 6: Za premennú umiestnite bodku (.), Aby ste mohli vybrať zoznam funkcií IntelliSense dostupných pre túto definovanú rozsahovú premennú.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var. End Sub
Krok 7: Potiahnite zoznamom dole a vyberte funkciu „Hodnota“, aby ste uložili hodnotu do tejto premennej rozsahu.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value End Sub Sub
Krok 8: Priraďte „Vitajte vo svete VBA!“ Ako hodnotu k tomuto rozsahu pomocou operátora priradenia.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value = "Vitajte vo svete VBA!" End Sub
Krok 9: Skončili sme s kódovacou časťou. Spustite tento kód stlačením klávesy F5 alebo Run v rámci VBE a pozrite si výstup.
Môžete tiež priradiť hodnotu k množstvu buniek. Jediné, čo musíte urobiť, je pri nastavovaní rozsahu výstupu dať jednorozmerné pole namiesto jedného odkazu na bunku.
Krok 10: V rovnakom kóde vyššie zmeňte rozsah z „A1“ na „A1: A5“.
kód:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1: A5") setValue_Var.Value = "Vitajte vo svete VBA!" End Sub
Krok 11: Stlačte kláves F5 alebo Run a pozrite sa na výstup.
Príklad č. 2 - Nastavte hodnotu bunky pomocou vlastnosti buniek VBA
Toto je ďalšia metóda na nastavenie hodnoty bunky pod VBA. Na rozdiel od funkcie RANGE ich bunky nepotrebujú. Operátor hodnoty, aby mohol nastaviť hodnotu pre konkrétnu bunku / bunky.
Podľa nižšie uvedených krokov nastavte hodnotu bunky v programe Excel VBA:
Krok 1: Vložte nový modul do VBE, kde môžete začať písať nový kód.
Krok 2: Pridajte nový podprogram pod vložený modul, do ktorého môžete uložiť svoj kód makra.
kód:
Sub VBA_Value_Ex2 () End Sub
Krok 3: Začnite písať tento Workbook.Worksheet pre prístup k hárku s názvom „Setting_Cell_Value_2“.
kód:
Sub VBA_Value_Ex2 () ThisWorkbook.worksheet End Sub
Krok 4: Uveďte názov hárku v zátvorkách v úvodzovkách.
kód:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2") End Sub
Krok 5 : Použite vlastnosť .Cells na nastavenie rozsahu buniek z daného hárku Excel.
kód:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Bunky (1, 1) End Sub
Prvý argument vlastnosti Cells predstavuje riadky a druhý argument predstavuje stĺpec. Preto bunky (1, 1) znamenajú bunku spojenú s prvým riadkom a prvým stĺpcom hárka „Setting_Cell_Value_2“.
Krok 6: Teraz pomocou operátora priradenia priraďte tejto bunkovej množine hodnotu.
kód:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Bunky (1, 1) = "VBA je flexibilný." End Sub
Pozrite sa, že nepotrebujeme. Hodnotovú funkciu, ktorú musíme použiť pri nastavovaní hodnoty pomocou funkcie Range. Metóda buniek nemá také možnosti IntelliSense.
Krok 7: Stlačením F5 alebo Run spustite tento kód a uvidíte výstup. Zobrazí sa výstup tak, ako je to znázornené na obrázku nižšie.
Príklad č. 3 - Získajte hodnotu bunky vo VBA
Doteraz sme v dvoch príkladoch videli, ako nastaviť hodnotu pre bunku alebo rozsah buniek. Teraz predpokladajme, že prípad je presne opačný, musíme získať hodnotu priradenú konkrétnej bunke excelového listu. Ako to môžeme dosiahnuť? Prejdeme si sprievodcu krok za krokom.
Predpokladajme, že som priradil hodnotu uvedenú na obrázku nižšie pod prvou bunkou stĺpca A v hárku „Getting_Cell_Value“.
Ak chcete získať hodnotu bunky v programe Excel VBA, postupujte podľa nasledujúcich krokov:
Krok 1: Vložte nový modul pod VBE.
Krok 2: Pridajte čiastkový postup, aby bolo možné makro uložiť ako kód.
kód:
Sub VBA_Value_Ex3 () End Sub
Krok 3: Definujte novú premennú s názvom Get_Value ako variantu pomocou funkcie VBA Dim.
kód:
Sub VBA_Value_Ex3 () Dim Get_Value ako Koniec variantu Sub
Teraz musíte priradiť hodnotu prítomnú v bunke A1 k premennej definovanej vyššie.
Krok 4: Zadajte „Get_Value = ThisWorkbook.Worksheets“. To umožní kompilátoru VBA prístup k hárku Excel, kde je uložená vaša hodnota.
kód:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheet End Sub
Krok 5: V zátvorkách uveďte názov pracovného hárka s citátmi, v ktorých je uložená hodnota.
kód:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value") End Sub
Krok 6: Teraz pomocou metódy bodka (.) Range poskytnite presnú bunku, kde je hodnota uložená v hárku s názvom „Getting_Cell_Value“.
kód:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1") End Sub
Krok 7: Nakoniec použite bodovú (.) Metódu hodnoty, aby kompilátor mohol získať prístup k skutočnej hodnote pod bunkou A1.
kód:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Hodnota End Sub
Krok 8: Ako sme už hovorili, musíme získať hodnotu uloženú v bunke A1. Na tento účel použite MsgBox na zobrazenie hodnoty premennej Get_Value (ktorá už má prístup k hodnote zadanej v bunke A1).
kód:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Hodnota MsgBox Get_Value End Sub Sub
Krok 9: Stlačením klávesu F5 alebo Spustiť spustite tento kód. Hodnotu nachádzajúcu sa v bunke A1 dostanete v okne so správou.
Vidíte, to bola hodnota, ktorú sme uviedli v bunke A1 listu „Getting_Cell_Value“. Správny?
Príklad č. 4 - Môžeme získať viac hodnôt buniek naraz?
Predpokladajme, že mám uložené hodnoty v troch rôznych bunkách A1, A2, A3, ako ukazuje obrázok nižšie:
Ak sa pozriete na text, ktorý sa šíri pozdĺž stĺpcov A až E., jednoducho sa nezmite, je to len viditeľné rozloženie (pretože som zlúčil bunky) a skutočná hodnota sa uloží iba pod bunkou A1, A2, A3.
Ak chcete použiť hodnotu Excel VBA, postupujte podľa nasledujúcich krokov:
Krok 1: Definujte premennú ako variant podľa nového čiastkového postupu vo vašom module VBA.
Kód: Sub VBA_Value_Ex4 () Dim Get_Value_2 ako koniec variantu Sub
Krok 2: Na získanie hodnoty buniek A1: A3 a priradenie novej premennej definovanej v predchádzajúcom kroku použite metódu Range.Value.
kód:
Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Hodnota End Sub
Krok 3: Nakoniec pomocou funkcie MsgBox zobrazte hodnoty uložené v bunke A1: A3.
kód:
Sub VBA_Value_Ex4 () Dim Get_Value_2 ako variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Hodnota MsgBox Get_Value_2 End Sub
Krok 4: Stlačte kláves F5 alebo Run a pozrite si výstup tohto kódu.
Dostanete chybu pri spustení'13 ': Nesúlad typu. Dôvodom na získanie tejto chyby je, že definujeme jednu premennú a priraďujeme k nej hodnoty jednorozmerného poľa (s tromi riadkami). Čo nie je logicky možné.
Toto je z tohto článku. Poďme zabaliť veci do niekoľkých bodov, ktoré treba mať na pamäti.
Čo je potrebné pamätať
Pri použití metódy VBA CELLS nemôžete nastaviť hodnotu viacerých buniek, pretože ako argumenty berie riadky a stĺpce. Môžete v ňom zadať iba číslo riadka a číslo stĺpca.
Hodnoty uložené vo viacerých bunkách tiež nemôžete získať v jednom okne správ. Ak musíte načítať rozsah hodnôt, musíte pre každú z hodnôt napísať samostatné argumenty get.
Odporúčané články
Toto bol sprievodca hodnotou VBA. Diskutovali sme o tom, ako používať hodnotovú funkciu Excel VBA spolu s praktickými príkladmi a šablónou Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -
- Kompletný sprievodca chybou VBA
- Ako používať formát čísla VBA?
- Funkcia VBA VLOOKUP s príkladmi
- Vytvorenie funkcie VBA v programe Excel
- Ako používať funkciu VBA Val?