VBA-waarde - Hoe Excel VBA-waardefunctie gebruiken?

Inhoudsopgave:

Anonim

VBA-waarde

De reis van VBA begint met weten hoe de waarden worden opgeslagen in de cellen. Daarom is het kennen van de VALUE-functie onder VBA van groter belang. Na het bestuderen van de eigenschap VBA VALUE, kun je weten hoe de waarden worden opgeslagen onder VBA. In dit artikel worden alle soorten VALUE-functies in VBA uitgelegd, zoals hoe de waarde wordt opgeslagen in cellen, hoe de waarde kan worden ingesteld, hoe de waarde moet worden ingevoegd en nog veel meer.

Hoe Excel VBA-waardefunctie gebruiken?

We zullen leren hoe de VBA-waardefunctie te gebruiken met enkele voorbeelden in Excel.

U kunt deze VBA Value Excel-sjabloon hier downloaden - VBA Value Excel-sjabloon

Voorbeeld # 1 - Stel de celwaarde in met de functie Range.Value

Cel / s-waarde instellen met Bereik. Waardefunctie bestaat grofweg uit twee belangrijke stappen:

  • Het bereik instellen waar u de waarde wilt opslaan.
  • Een waarde toewijzen aan het ingestelde bereik.

Volg de onderstaande stappen om waarde in te stellen in Excel VBA:

Stap 1: Voeg een nieuwe module in onder Visual Basic Editor (VBE).

Stap 2: Definieer een nieuwe subprocedure onder de ingevoegde module zodat er een macro in kan worden opgeslagen.

Code:

 Sub VBA_Value_Ex1 () End Sub 

Stap 3: Definieer een nieuwe variabele als een bereik dat kan worden gebruikt om een ​​bereik te definiëren waar u de waarde wilt opslaan.

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range End Sub 

Stap 4: wijs met behulp van de VBA RANGE-functie de cellen in het bereik toe aan een variabele die is gedefinieerd met behulp van de toewijzingsoperator.

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Bereik ("A1") End Sub 

Stap 5: Gebruik nu de eigenschap Range.Value om waarde te kunnen toewijzen aan het gedefinieerde bereik. Typ de variabelenaam "setValue_Var" waaronder het bereik is gedefinieerd.

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Bereik ("A1") setValue_Var End Sub 

Stap 6: Plaats een punt (.) Achter de variabele om de IntelliSense-lijst met beschikbare functies voor deze gedefinieerde bereikvariabele te kunnen selecteren.

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Bereik ("A1") setValue_Var. Einde Sub 

Stap 7: Sleep omlaag door de lijst en selecteer de functie "Waarde" om de waarde onder deze bereikvariabele op te slaan.

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Bereik ("A1") setValue_Var.Value End Sub 

Stap 8: Wijs "Welkom in de wereld van VBA!" Toe als waarde voor dit bereik met behulp van toewijzingsoperator.

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value = "Welkom in de wereld van VBA!" Einde Sub 

Stap 9: We zijn klaar met het codeergedeelte. Voer deze code uit door op F5 of op de knop Run onder VBE te drukken en de uitvoer te bekijken.

U kunt ook de waarde toewijzen aan een cellenbereik. Het enige dat u hoeft te doen is, terwijl u het bereik voor de uitvoer instelt, u een eendimensionale array geeft in plaats van een enkele celverwijzing.

Stap 10: verander in dezelfde code hierboven het bereik van "A1" in "A1: A5".

Code:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1: A5") setValue_Var.Value = "Welkom in de wereld van VBA!" Einde Sub 

Stap 11: Druk op F5 of de knop Uitvoeren en bekijk de uitvoer.

Voorbeeld # 2 - Stel de celwaarde in met behulp van de eigenschap VBA-cellen

Dit is een andere methode voor het instellen van de celwaarde onder VBA. In tegenstelling tot de RANGE-functie hebben cellen ze niet eens nodig. Waarde-operator om waarde voor de specifieke cel (len) in te stellen.

Volg de onderstaande stappen om de celwaarde in Excel VBA in te stellen:

Stap 1: Plaats een nieuwe module onder VBE waar u kunt beginnen met het schrijven van uw nieuwe stuk code.

Stap 2: Voeg een nieuwe subprocedure toe onder de ingevoegde module, waarin u uw macrocode kunt opslaan.

Code:

 Sub VBA_Value_Ex2 () End Sub 

Stap 3: Begin met het typen van dit Werkboek.Werkblad om toegang te krijgen tot het blad met de naam “Setting_Cell_Value_2”.

Code:

 Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub 

Stap 4: vermeld de bladnaam tussen haakjes in dubbele aanhalingstekens.

Code:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2") End Sub 

Stap 5 : Gebruik de eigenschap .Cells om het celbereik van het opgegeven Excel-blad in te stellen.

Code:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cellen (1, 1) End Sub 

Het eerste argument van de eigenschap Cellen vertegenwoordigt de rijen en het tweede argument vertegenwoordigt de kolom. Cellen (1, 1) betekent daarom een ​​cel die is gekoppeld aan de eerste rij en de eerste kolom van het blad “Setting_Cell_Value_2”.

Stap 6: wijs nu met behulp van de toewijzingsoperator een waarde toe aan deze celset.

Code:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cellen (1, 1) = "VBA is flexibel." Einde Sub 

Kijk eens wat we niet nodig hebben. Waarde-functie die we moeten gebruiken bij het instellen van de waarde met de functie Bereik. Cells Method heeft dergelijke IntelliSense-opties niet.

Stap 7: Druk op F5 of op de knop Uitvoeren om deze code uit te voeren en de uitvoer te bekijken. U ziet een uitvoer zoals weergegeven in de onderstaande schermafbeelding.

Voorbeeld # 3 - Krijg celwaarde in VBA

Tot nu toe hebben we in twee voorbeelden gezien hoe waarde kan worden ingesteld voor een cel of celbereik. Stel dat een case precies omgekeerd is, we moeten de waarde krijgen die is toegewezen aan een bepaalde cel van een Excel-blad. Hoe kunnen we dat krijgen? Laten we een stapsgewijze handleiding doornemen.

Stel dat ik een waarde heb toegewezen zoals weergegeven in de onderstaande schermafbeelding onder de eerste cel van kolom A in blad “Getting_Cell_Value”.

Volg de onderstaande stappen om de celwaarde in Excel VBA te krijgen:

Stap 1: Voeg een nieuwe module in onder VBE.

Stap 2: Voeg een subprocedure toe zodat een macro kan worden opgeslagen als een code.

Code:

 Sub VBA_Value_Ex3 () End Sub 

Stap 3: Definieer een nieuwe variabele met de naam Get_Value als een variant met behulp van de VBA Dim-functie.

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant End Sub 

Nu moet u de waarde in cel A1 toewijzen aan de hierboven gedefinieerde variabele.

Stap 4: Typ "Get_Value = ThisWorkbook.Worksheets". Hiermee krijgt de VBA-compiler toegang tot het Excel-blad waar uw waarde is opgeslagen.

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value als variant Get_Value = ThisWorkbook.Worksheets End Sub 

Stap 5: Noem de werkbladnaam tussen haakjes met citaten waarin waarde is opgeslagen.

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value als variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value") End Sub 

Stap 6: Gebruik nu de puntmethode (.) Om de exacte cel op te geven waar de waarde wordt opgeslagen onder blad genaamd "Getting_Cell_Value".

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Bereik ("A1") End Sub 

Stap 7: Gebruik tot slot de methode met de punt (.) Zodat de werkelijke waarde onder cel A1 toegankelijk is voor de compiler.

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Bereik ("A1"). Waarde End Sub 

Stap 8: Zoals we hebben besproken, moeten we de waarde in cel A1 opslaan. Gebruik daarvoor MsgBox om de waarde van variabele Get_Value weer te geven (die al toegang hebben gehad tot de waarde die in cel A1 is getypt).

Code:

 Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Bereik ("A1"). Waarde MsgBox Get_Value End Sub 

Stap 9: Druk op F5 of Uitvoeren om deze code uit te voeren, u krijgt de waarde in cel A1 onder het berichtvak.

Zie, dit was de waarde die we hebben vermeld onder cel A1 van blad “Getting_Cell_Value”. Rechtsaf?

Voorbeeld 4 - Kunnen we meerdere celwaarden tegelijk krijgen?

Laten we aannemen dat ik waarden heb opgeslagen in drie verschillende cellen A1, A2, A3 zoals weergegeven in de onderstaande schermafbeelding:

Raak niet in de war als u de tekst ziet langs de kolommen A tot E. Het is gewoon een zichtbare lay-out (omdat ik de cellen heb samengevoegd) en de werkelijke waarde wordt alleen onder cel A1, A2, A3 opgeslagen.

Volg de onderstaande stappen om Excel VBA-waarde te gebruiken:

Stap 1: Definieer een variabele als een variant onder een nieuwe subprocedure in uw VBA-module.

 Code: Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant End Sub 

Stap 2: Gebruik de methode Range.Value om de waarde van cellen A1: A3 op te halen en toe te wijzen aan een nieuwe variabele die in de vorige stap is gedefinieerd.

Code:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Bereik ("A1: A3"). Waarde End Sub 

Stap 3: Gebruik ten slotte de MsgBox-functie om de waarden weer te geven die zijn opgeslagen in cel A1: A3.

Code:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Bereik ("A1: A3"). Waarde MsgBox Get_Value_2 End Sub 

Stap 4: Druk op F5 of de knop Uitvoeren en bekijk de uitvoer voor deze code.

U krijgt een Run-time error'13 ': Type Mismatch. De reden voor het krijgen van deze fout is dat we een enkele variabele definiëren en er waarden van een eendimensionale array (met drie rijen) aan toewijzen. Dat is logisch niet mogelijk.

Dit komt uit dit artikel. Laten we de dingen afronden met enkele punten om te onthouden.

Dingen om te onthouden

U kunt de waarde van meerdere cellen niet instellen tijdens het gebruik van de VBA CELLS-methode, omdat rijen en kolommen als argumenten worden gebruikt. U kunt alleen het rijnummer en het kolomnummer opgeven.

U kunt ook geen waarden in meerdere cellen in één berichtvak laten opslaan. Als u het bereik van waarden moet ophalen, moet u de afzonderlijke get-argumenten voor elke waarde schrijven.

Aanbevolen artikelen

Dit is een leidraad geweest voor VBA Value. Hier hebben we besproken hoe u Excel VBA-waardefunctie kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Volledige gids voor VBA bij fout
  2. Hoe het VBA-nummerformaat te gebruiken?
  3. VBA VLOOKUP-functie met voorbeelden
  4. Een VBA-functie maken in Excel
  5. Hoe de VBA Val-functie te gebruiken?