VBA-værdi - Hvordan bruges Excel VBA-værdifunktion?

Indholdsfortegnelse:

Anonim

VBA-værdi

Rejsen til VBA starter med at vide, hvordan værdierne gemmes i cellerne. Derfor er det vigtigere at kende VALUE-funktion under VBA. Når du har studeret egenskaben VBA VALUE, vil du være i stand til at vide, hvordan værdierne gemmes under VBA. Denne artikel forklarer alle typer VALUE-funktion i VBA, som hvordan værdien gemmes i celler, hot for at indstille værdien, hvordan man indsætter værdien og mange flere.

Hvordan bruges Excel VBA-værdifunktion?

Vi lærer, hvordan man bruger VBA Value-funktionen med få eksempler i Excel.

Du kan downloade denne VBA Value Excel-skabelon her - VBA Value Excel Template

Eksempel # 1 - Indstil celleværdi vha. Funktionen Range.Value

Indstilling af celle / s-værdi ved hjælp af Range. Værdifunktion består omtrent af to vigtige trin:

  • Indstilling af det interval, hvor du vil gemme værdien.
  • Tildeling af en værdi til det indstillede interval.

Følg nedenstående trin for at indstille værdien i Excel VBA:

Trin 1: Indsæt et nyt modul under Visual Basic Editor (VBE).

Trin 2: Definer en ny underprocedure under det indsatte modul, så en makro kan gemmes i den.

Kode:

 Sub VBA_Value_Ex1 () End Sub 

Trin 3: Definer en ny variabel som et interval, der kan bruges til at definere et interval, hvor du vil gemme værdien.

Kode:

 Sub VBA_Value_Ex1 () Dim setValue_Var Som Range End Sub 

Trin 4: Ved hjælp af VBA RANGE-funktionen tildeles cellerne i området til en variabel defineret ved hjælp af tildelingsoperatøren.

Kode:

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

Trin 5: Brug nu egenskaben Range.Value til at kunne tildele værdi til det definerede interval. Skriv variabelnavnet "setValue_Var", som området defineres under.

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

Trin 6: Sæt en prik (.) Efter variabel for at kunne vælge IntelliSense-listen over tilgængelige funktioner til denne definerede rækkevariabel.

Kode:

 Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var. Afslut under 

Trin 7: Træk ned gennem listen og vælg "Værdi" -funktion for at gemme værdien under denne intervalvariabel.

Kode:

 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 

Trin 8: Tildel "Velkommen til en verden af ​​VBA!" Som værdi til dette interval ved hjælp af tildelingsoperatør.

Kode:

 Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1") setValue_Var.Value = "Velkommen til VBA's verden!" Afslut under 

Trin 9: Vi er færdige med kodningsdelen. Kør denne kode ved at trykke på F5 eller Run-knappen under VBE og se output.

Du kan også tildele værdien til en række celler. Alt hvad du skal gøre er at indstille området for det output, du vil give en-dimensionelt array i stedet for en enkelt celle-reference.

Trin 10: I den samme kode ovenfor skal du ændre området fra "A1" til "A1: A5".

Kode:

 Sub VBA_Value_Ex1 () Dim setValue_Var Som Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Range ("A1: A5") setValue_Var.Value = "Velkommen til VBA's verden!" Afslut under 

Trin 11: Tryk på F5 eller Run-knappen og se output.

Eksempel # 2 - Indstil celleværdi vha. VBA-celleegenskaber

Dette er en anden metode til indstilling af celleværdien under VBA. I modsætning til RANGE-funktionen har celler ikke engang brug for dem. Værdioperatør for at kunne indstille værdi for den / de specifikke celle / celler.

Følg nedenstående trin for at indstille celleværdien i Excel VBA:

Trin 1: Indsæt et nyt modul under VBE, hvor du kan begynde at skrive dit nye stykke kode.

Trin 2: Tilføj ny underprocedure under indsat modul, hvor du kan gemme din makrokode i.

Kode:

 Sub VBA_Value_Ex2 () End Sub 

Trin 3: Begynd at skrive denneWorkbook.Worksheet for at få adgang til arket med navnet “Setting_Cell_Value_2”.

Kode:

 Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub 

Trin 4: Nævn arknavnet under parenteser i dobbelt citater.

Kode:

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

Trin 5 : Brug egenskaben Celler til at indstille celleområdet fra det givne excelark.

Kode:

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

Det første argument for egenskaben Celler repræsenterer rækkerne, og det andet argument repræsenterer kolonnen. Derfor betyder celler (1, 1) celle tilknyttet den første række og første kolonne på arket “Setting_Cell_Value_2”.

Trin 6: Tildel nu en værdi til dette cellesæt ved hjælp af tildelingsoperatøren.

Kode:

 Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cells (1, 1) = "VBA er fleksibel." Afslut under 

Se, at vi ikke har brug for .Value-funktion, som vi har brug for, mens du indstiller værdien ved hjælp af Range-funktion. Celle-metoden har ikke sådanne IntelliSense-indstillinger.

Trin 7: Tryk på F5 eller Run-knappen for at køre denne kode og se output. Du vil se et output som vist på skærmbilledet nedenfor.

Eksempel 3 - Få celleværdi i VBA

Indtil nu har vi i to eksempler set, hvordan man indstiller værdi for en celle eller et område af celler. Antag nu, at en sag er nøjagtigt omvendt, vi må få den værdi, der er tildelt en bestemt celle i et excelark. Hvordan kan vi få det? Lad os gennemgå en trinvis vejledning.

Antag, at jeg har tildelt en værdi som vist på skærmbilledet nedenfor under den første celle i kolonne A på arket “Getting_Cell_Value”.

Følg nedenstående trin for at få celleværdien i Excel VBA:

Trin 1: Indsæt et nyt modul under VBE.

Trin 2: Tilføj en underprocedure, så en makro kan gemmes som en kode.

Kode:

 Sub VBA_Value_Ex3 () End Sub 

Trin 3: Definer en ny variabel kaldet Get_Value som en variant ved hjælp af VBA Dim-funktion.

Kode:

 Sub VBA_Value_Ex3 () Dim Get_Value Som Variant End Sub 

Nu skal du tildele den værdi, der findes i celle A1 til den ovenfor definerede variabel.

Trin 4: Skriv “Get_Value = ThisWorkbook.Worksheets”. Dette giver VBA-kompilatoren adgang til det excelark, hvor din værdi er gemt.

Kode:

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

Trin 5: Nævn regnearkets navn under parenteser med citater, hvor værdien er gemt.

Kode:

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

Trin 6: Brug nu punkt (.) Range-metode til at angive den nøjagtige celle, hvor værdien er gemt under arket kaldet “Getting_Cell_Value”.

Kode:

 Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1") End Sub 

Trin 7: Brug endelig dot (.) Værdimetode, så den aktuelle værdi under celle A1 kan nås af compileren.

Kode:

 Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). 

Trin 8: Som vi har talt om, er vi nødt til at gemme værdien i celle A1. Til det skal du bruge MsgBox til at vise værdien af ​​variablen Get_Value (Som allerede har adgang til den værdi, der er indtastet i celle A1).

Kode:

 Sub VBA_Value_Ex3 () Dim Get_Value Som variant Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Range ("A1"). Værdi MsgBox Get_Value End Sub 

Trin 9: Tryk på F5 eller Kør knappen for at køre denne kode, du får værdien til stede i celle A1 under meddelelsesfeltet.

Se, dette var den værdi, vi har nævnt under celle A1 i arket “Getting_Cell_Value”. Ret?

Eksempel 4 - Kan vi få flere celleværdier ad gangen?

Lad os antage, at jeg har værdier, der er gemt i tre forskellige celler A1, A2, A3 som vist på skærmbilledet nedenfor:

Bliv ikke forvirret, hvis du ser teksten spredt langs kolonner A til E. det er bare et synligt layout (fordi jeg har fusioneret cellerne), og den aktuelle værdi gemmes kun under celle A1, A2, A3.

Følg nedenstående trin for at bruge Excel VBA-værdi:

Trin 1: Definer en variabel som en variant under en ny underprocedure i dit VBA-modul.

 Kode: Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant End Sub 

Trin 2: Brug Range.Value-metoden til at hente værdien af ​​cellerne A1: A3 og tildele til en ny variabel defineret i det forrige trin.

Kode:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Område ("A1: A3"). 

Trin 3: Brug til sidst MsgBox-funktionen til at vise de værdier, der er gemt i celle A1: A3.

Kode:

 Sub VBA_Value_Ex4 () Dim Get_Value_2 Som Variant Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Range ("A1: A3"). Værdi MsgBox Get_Value_2 End Sub 

Trin 4: Tryk på F5 eller Run-knappen og se output til denne kode.

Du får en run-time-fejl '13 ': Skriv fejlpasning. Årsagen bag at få denne fejl er, at vi definerer en enkelt variabel og tildeler værdier for en endimensionel matrix (med tre rækker) til den. Hvilket er logisk ikke muligt.

Dette er fra denne artikel. Lad os pakke tingene op med nogle punkter, der skal huskes.

Ting at huske

Du kan ikke indstille værdien for flere celler, mens du bruger VBA CELLS-metoden, fordi det tager rækker og kolonner som argumenter. Du kan kun specificere rækkenummeret og kolonnenummeret i det.

Du kan heller ikke få værdier gemt i flere celler i en enkelt meddelelsesboks. Hvis du skal hente intervallet af værdier, skal du skrive separate få argumenter for hver af værdien.

Anbefalede artikler

Dette har været en guide til VBA Value. Her har vi drøftet, hvordan man bruger Excel VBA Value Function sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Komplet guide til VBA ved fejl
  2. Sådan bruges VBA-nummerformat?
  3. VBA VLOOKUP-funktion med eksempler
  4. Oprettelse af en VBA-funktion i Excel
  5. Sådan bruges VBA Val-funktion?