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)