VBA -celleværdi - Hent, indstil eller skift

Denne vejledning lærer dig, hvordan du interagerer med celleværdier ved hjælp af VBA.

Indstil celleværdi

Hvis du vil angive en celleværdi, skal du bruge egenskaben Value for området eller celler.

Range.Value & Cells.Value

Der er to måder at referere til celle (r) i VBA:

  • Områdeobjekt - Område (“A2”). Værdi
  • Celler Objekt - Celler (2,1). Værdi

Range -objektet giver dig mulighed for at henvise til en celle ved hjælp af standard "A1" notationen.

Dette indstiller intervallet A2s værdi = 1:

1 Område ("A2"). Værdi = 1

Celleobjektet giver dig mulighed for at henvise til en celle efter dets række- og kolonnenummer.

Dette indstiller værdi A2 = 1:

1 Celler (2,1). Værdi = 1

Bemærk, at du først indtaster rækkenummeret:

1 Celler (række_numre, kolonnenumre)

Indstil flere cellers værdier på én gang

I stedet for at referere til en enkelt celle, kan du referere til en række celler og ændre alle celleværdierne på én gang:

1 Område ("A2: A5"). Værdi = 1

Indstil celleværdi - tekst

I eksemplerne ovenfor sætter vi celleværdien lig med et tal (1). I stedet kan du indstille celleværdien lig med en tekststreng. I VBA skal al tekst være omgivet af citater:

1 Område ("A2"). Værdi = "Tekst"

Hvis du ikke omgiver teksten med citater, vil VBA tro, at du refererer til en variabel …

Indstil celleværdi - variabel

Du kan også indstille en celleværdi svarende til en variabel

1234 Dim strTekst som strengstrText = "Tekststreng"Område ("A2"). Værdi = strText

Få celleværdi

Du kan få celleværdier ved hjælp af den samme Value -egenskab, som vi brugte ovenfor.

Få ActiveCell -værdi

Sådan får du ActiveCell -værdien og viser den i en meddelelsesboks:

1 MsgBox ActiveCell.Value

Tildel celleværdi til variabel

For at få en celleværdi og tildele den til en variabel:

123 Dim var som variantvar = Område ("A1"). Værdi

Her brugte vi en variabel af typen Variant. Variantvariabler kan acceptere enhver form for værdier. I stedet kan du bruge en strengvariabeltype:

123 Dim var som strengvar = Område ("A1"). Værdi

En strengvariabeltype accepterer numeriske værdier, men den gemmer tallene som tekst.

Hvis du ved, at din celleværdi vil være numerisk, kan du bruge en dobbelt variabel type (dobbelt variabler kan gemme decimalværdier):

123 Dim var som Doublevar = Område ("A1"). Værdi

Men hvis du forsøger at gemme en celleværdi, der indeholder tekst i en dobbelt variabel, modtager du en fejl i typen mismatch:

Andre eksempler på celleværdi

Kopier celleværdi

Det er let at indstille en celleværdi, der svarer til en anden celleværdi (eller "Kopier" en celleværdi):

1 Område ("A1"). Værdi = Område ("B1"). Værdi

Du kan endda gøre dette med celleområder (intervallerne skal have samme størrelse):

1 Område ("A1: A5"). Værdi = Område ("B1: B5"). Værdi

Sammenlign celleværdier

Du kan sammenligne celleværdier ved hjælp af standard sammenligningsoperatorer.

Test om celleværdierne er ens:

1 MsgBox -område ("A1"). Værdi = område ("B1"). Værdi

Returnerer SAND, hvis celleværdier er ens. Ellers FALSK.

Du kan også oprette en If -erklæring for at sammenligne celleværdier:

12345678910111213 Hvis område ("A1"). Værdi> Område ("B1"). Værdi DerefterOmråde ("C1"). Værdi = "Større end"Elseif Range ("A1"). Værdi = Range ("B1"). Værdi HerefterOmråde ("C1"). Værdi = "Lig"AndetOmråde ("C1"). Værdi = "Mindre end"Afslut Hvis

Du kan sammenligne tekst på samme måde (Husk, at VBA er store og små bogstaver)

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave