VBA -celleverdi - Få, sett eller endre

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)

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave