Denne opplæringen vil lære deg hvordan du samhandler med celleverdier ved hjelp av VBA.
Angi celleverdi
For å angi en celleverdi, bruk egenskapen Value for området eller celler.
Range.Value & Cells.Value
Det er to måter å referere til celle (r) i VBA:
- Rekkevidde - Område (“A2”). Verdi
- Celler Objekt - Celler (2,1). Verdi
Range -objektet lar deg referere til en celle ved hjelp av standard "A1" -notasjon.
Dette angir verdien til området A2 = 1:
1 | Område ("A2"). Verdi = 1 |
Celle -objektet lar deg referere til en celle etter dets radnummer og kolonnummer.
Dette vil angi verdi A2 = 1:
1 | Celler (2,1). Verdi = 1 |
Legg merke til at du angir radnummeret først:
1 | Celler (rad -tall, kol -tall) |
Sett flere cellers verdier samtidig
I stedet for å referere til en enkelt celle, kan du referere til en rekke celler og endre alle celleverdiene samtidig:
1 | Område ("A2: A5"). Verdi = 1 |
Angi celleverdi - tekst
I eksemplene ovenfor setter vi celleverdien lik et tall (1). I stedet kan du angi celleverdien lik en tekststreng. I VBA må all tekst være omgitt av sitater:
1 | Område ("A2"). Verdi = "Tekst" |
Hvis du ikke omgir teksten med sitater, vil VBA tro at du refererer til en variabel …
Angi celleverdi - variabel
Du kan også angi en celleverdi lik en variabel
1234 | Dim strText as StringstrText = "Tekststreng"Område ("A2"). Verdi = strText |
Få celleverdi
Du kan få celleverdier ved å bruke den samme Value -egenskapen som vi brukte ovenfor.
Få ActiveCell -verdi
For å få ActiveCell -verdien og vise den i en meldingsboks:
1 | MsgBox ActiveCell.Value |
Tilordne celleverdi til variabel
For å få en celleverdi og tilordne den til en variabel:
123 | Dim var som variantvar = Område ("A1"). Verdi |
Her brukte vi en variabel av typen Variant. Variantvariabler kan godta alle typer verdier. I stedet kan du bruke en strengvariabeltype:
123 | Dim var som strengvar = Område ("A1"). Verdi |
En strengvariabeltype godtar numeriske verdier, men den lagrer tallene som tekst.
Hvis du vet at celleverdien din vil være numerisk, kan du bruke en dobbel variabel -type (doble variabler kan lagre desimalverdier):
123 | Dim var som Doublevar = Område ("A1"). Verdi |
Imidlertid, hvis du prøver å lagre en celleverdi som inneholder tekst i en dobbel variabel, får du en feilmelding:
Andre eksempler på celleverdi
Kopier celleverdi
Det er enkelt å angi en celleverdi lik en annen celleverdi (eller "Kopier" en celleverdi):
1 | Område ("A1"). Verdi = Område ("B1"). Verdi |
Du kan til og med gjøre dette med celleområder (områdene må ha samme størrelse):
1 | Område ("A1: A5"). Verdi = Område ("B1: B5"). Verdi |
Sammenlign celleverdier
Du kan sammenligne celleverdier ved hjelp av standard sammenligningsoperatorer.
Test om celleverdiene er like:
1 | MsgBox -område ("A1"). Verdi = område ("B1"). Verdi |
Returnerer SANN hvis celleverdiene er like. Ellers FALSK.
Du kan også opprette en If -setning for å sammenligne celleverdier:
12345678910111213 | Hvis område ("A1"). Verdi> Område ("B1"). Verdi DeretterOmråde ("C1"). Verdi = "Større enn"Elseif -område ("A1"). Verdi = område ("B1"). Verdi DeretterOmråde ("C1"). Verdi = "lik"EllersOmråde ("C1"). Verdi = "Mindre enn"Slutt om |
Du kan sammenligne tekst på samme måte (Husk at VBA er store og små bokstaver)