VBA-värde
Resan till VBA börjar med att veta hur värdena lagras i cellerna. Därför är det viktigare att känna till VALUE-funktion under VBA. Efter att ha studerat egenskapen VBA VALUE kommer du att kunna veta hur värdena lagras under VBA. Den här artikeln förklarar alla typer av VALUE-funktion i VBA som hur värdet lagras i celler, varmt för att ställa in värdet, hur man sätter in värdet och många fler.
Hur använder jag Excel VBA Value-funktion?
Vi kommer att lära dig att använda VBA Value-funktionen med några exempel i Excel.
Du kan ladda ner denna VBA Value Excel-mall här - VBA Value Excel MallExempel 1 - Ställ in cellvärde med hjälp av funktionen Range.Value
Inställning av cell / s-värde med Range. Värdefunktionen består ungefär av två viktiga steg:
- Ställa in området där du vill att värdet ska lagras.
- Tilldela ett värde till det inställda intervallet.
Följ stegen nedan för att ställa in värde i Excel VBA:
Steg 1: Infoga en ny modul under Visual Basic Editor (VBE).
Steg 2: Definiera en ny delprocedur under den infogade modulen så att ett makro kan lagras i den.
Koda:
Sub VBA_Value_Ex1 () Slut Sub
Steg 3: Definiera en ny variabel som ett intervall som kan användas för att definiera ett område där du ville lagra värdet.
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range End Sub
Steg 4: Med hjälp av VBA RANGE-funktionen tilldelar du cellerna i intervallet till en variabel definierad med hjälp av uppdragsoperatören.
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") End Sub
Steg 5: Använd nu egenskapen Range.Value för att kunna tilldela värde till det definierade området. Skriv variabelnamnet “setValue_Var” under vilket intervallet definieras.
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var End Sub
Steg 6: Sätt en punkt (.) Efter variabel för att kunna välja IntelliSense-listan över tillgängliga funktioner för den definierade intervallvariabeln.
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var. Avsluta under
Steg 7: Dra ned genom listan och välj "Value" -funktion för att lagra värdet under denna intervallvariabel.
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value End Sub
Steg 8: Tilldela "Välkommen till VBA: s värld!" Som värde för detta intervall med uppdragsoperatören.
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value = "Välkommen till VBA: s värld!" Avsluta under
Steg 9: Vi är klara med kodningsdelen. Kör den här koden genom att slå F5 eller Run-knappen under VBE och se utgången.
Du kan också tilldela värdet till ett antal celler. Allt du behöver göra är att ställa in intervallet för den utgång du ska ge en-dimensionell matris istället för en enda cellreferens.
Steg 10: I samma kod ovan, ändra intervallet från "A1" till "A1: A5".
Koda:
Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1: A5") setValue_Var.Value = "Välkommen till VBA: s värld!" Avsluta under
Steg 11: Tryck på F5 eller Run-knappen och se utgången.
Exempel 2 - Ställ in cellvärde med hjälp av VBA-celleregenskap
Detta är en annan metod för att ställa in cellvärdet under VBA. Till skillnad från RANGE-funktionen behöver celler inte ens dem. Värdeoperatör för att kunna ställa in värde för de specifika cellerna.
Följ stegen nedan för att ställa in cellvärdet i Excel VBA:
Steg 1: Sätt i en ny modul under VBE där du kan börja skriva din nya kod.
Steg 2: Lägg till en ny delprocedur under modulen införd, där du kan lagra din makrokod i.
Koda:
Sub VBA_Value_Ex2 () Slut Sub
Steg 3: Börja skriva dennaWorkbook.Worksheet för att få åtkomst till arket som heter "Setting_Cell_Value_2".
Koda:
Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub
Steg 4: Nämna arknamnet under parentes i dubbla citat.
Koda:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2") End Sub
Steg 5 : Använd egenskapen .Cells för att ställa in cellområdet från det givna excelarket.
Koda:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Celler (1, 1) End Sub
Det första argumentet för Cells-egenskapen representerar raderna och det andra argumentet representerar kolumnen. Därför betyder celler (1, 1) en cell som är associerad med den första raden och den första kolumnen i arket "Setting_Cell_Value_2".
Steg 6: Tilldela nu ett värde till denna celluppsättning med hjälp av uppdragsoperatören.
Koda:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cells (1, 1) = "VBA är flexibel." Avsluta under
Titta på att vi inte behöver .Valueringsfunktion som vi behöver använda medan du ställer in värdet med hjälp av Range-funktionen. Cells Method har inga sådana IntelliSense-alternativ.
Steg 7: Tryck på F5 eller Run-knappen för att köra den här koden och se utgången. Du kommer att se en utgång som visas på skärmdumpen nedan.
Exempel 3 - Få cellvärde i VBA
Hittills har vi i två exempel sett hur man ställer in värde för en cell eller cellintervall. Anta nu att ett fall är exakt omvänt, vi måste få värdet tilldelat en viss cell i ett excel-ark. Hur kan vi få det? Låt oss gå igenom en steg för steg-guide.
Anta att jag har tilldelat ett värde som visas på skärmdumpen nedan under den första cellen i kolumn A i arket “Getting_Cell_Value”.
Följ stegen nedan för att få cellvärdet i Excel VBA:
Steg 1: Sätt i en ny modul under VBE.
Steg 2: Lägg till en delprocedur så att ett makro kan lagras som en kod.
Koda:
Sub VBA_Value_Ex3 () Slut Sub
Steg 3: Definiera en ny variabel som heter Get_Value som en variant med hjälp av VBA Dim-funktionen.
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som Variant End Sub
Nu måste du tilldela värdet som finns i cell A1 till den variabel som definieras ovan.
Steg 4: Skriv “Get_Value = ThisWorkbook.Worksheets”. Detta gör att VBA-kompilatorn kan komma åt det excel-ark där ditt värde är lagrat.
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som Variant Get_Value = ThisWorkbook.Worksheets Slut Sub
Steg 5: Nämn kalkylbladets namn under parenteser med citat där värdet lagras.
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som Variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value") Slut Sub
Steg 6: Använd nu punkt (.) Range metod för att tillhandahålla den exakta cellen där värdet lagras under arket "Getting_Cell_Value".
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1") Slut sub
Steg 7: Använd slutligen punktmetoden (.) Värde så att det verkliga värdet under cell A1 kan nås av kompilatorn.
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1").
Steg 8: Som vi har pratat om måste vi lagra värdet i cell A1. För det använder du MsgBox för att visa värdet på variabeln Get_Value (som redan har åtkomst till värdet som skrivs i cell A1).
Koda:
Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Värde MsgBox Get_Value End Sub
Steg 9: Tryck på F5 eller Run-knappen för att köra den här koden. Du får värdet som finns i cell A1 under meddelanderutan.
Se, detta var det värde vi har nämnt under cell A1 i arket “Getting_Cell_Value”. Rätt?
Exempel 4 - Kan vi få flera cellvärden åt gången?
Låt oss anta att jag har värden lagrade i tre olika celler A1, A2, A3 som visas på skärmdumpen nedan:
Blir bara inte förvirrad om du ser texten spridd längs kolumnerna A till E. det är bara en synlig layout (eftersom jag har slått samman cellerna) och det verkliga värdet lagras endast under cellerna A1, A2, A3.
Följ stegen nedan för att använda Excel VBA-värde:
Steg 1: Definiera en variabel som en variant under en ny delprocedur i din VBA-modul.
Kod: Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant End Sub
Steg 2: Använd metod Range.Value för att hämta värdet på cellerna A1: A3 och tilldela en ny variabel som definierats i föregående steg.
Koda:
Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3").
Steg 3: Använd slutligen MsgBox-funktionen för att visa värdena lagrade i cell A1: A3.
Koda:
Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Värde MsgBox Get_Value_2 slut sub
Steg 4: Tryck på F5 eller Run-knappen och se utgången för den här koden.
Du får ett körtidfel '13 ': Skriv felaktig matchning. Anledningen bakom att få detta fel är att vi definierar en enda variabel och tilldelar värden för en endimensionell matris (med tre rader) till den. Vilket är logiskt inte möjligt.
Detta kommer från den här artikeln. Låt oss packa upp saker med några punkter som kommer att komma ihåg.
Saker att komma ihåg
Du kan inte ställa in flera cellvärden när du använder VBA CELLS-metoden, eftersom det tar rader och kolumner som argument. Du kan bara ange radnumret och kolumnnumret i det.
Du kan inte heller få värden lagrade i flera celler i en enda meddelanderuta. Om du måste hämta värderingsintervallet måste du skriva separata få argument för var och en av värdena.
Rekommenderade artiklar
Detta har varit en guide till VBA Value. Här har vi diskuterat hur man använder Excel VBA Value Function tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -
- Komplett guide till VBA vid fel
- Hur använder man VBA-nummerformat?
- VBA VLOOKUP-funktion med exempel
- Skapa en VBA-funktion i Excel
- Hur använder man VBA Val-funktion?