VBA-celwaarde - ophalen, instellen of wijzigen

In deze zelfstudie leert u hoe u met behulp van VBA omgaat met celwaarden.

Celwaarde instellen

Gebruik de eigenschap Value van het object Range of Cells om een ​​celwaarde in te stellen.

Bereik.Waarde & Cellen.Waarde

Er zijn twee manieren om naar cel(len) in VBA te verwijzen:

  • Bereikobject - Bereik ("A2"). Waarde
  • Cellen Object - Cellen (2,1). Waarde

Met het Range-object kunt u naar een cel verwijzen met behulp van de standaard "A1" -notatie.

Hiermee wordt de waarde van het bereik A2 = 1:

1 Bereik ("A2"). Waarde = 1

Met het Cells-object kunt u naar een cel verwijzen met het rijnummer en het kolomnummer.

Hiermee wordt de waarde van bereik A2 = 1:

1 Cellen (2,1). Waarde = 1

Merk op dat u eerst het rijnummer invoert:

1 Cellen(Rij_num, Col_num)

Stel de waarden van meerdere cellen tegelijk in

In plaats van naar een enkele cel te verwijzen, kunt u naar een celbereik verwijzen en alle celwaarden tegelijk wijzigen:

1 Bereik ("A2:A5"). Waarde = 1

Celwaarde instellen - Tekst

In de bovenstaande voorbeelden stellen we de celwaarde gelijk aan een getal (1). In plaats daarvan kunt u de celwaarde gelijk stellen aan een reeks tekst. In VBA moet alle tekst tussen aanhalingstekens staan:

1 Bereik ("A2"). Waarde = "Tekst"

Als u de tekst niet tussen aanhalingstekens plaatst, zal VBA denken dat u naar een variabele verwijst …

Celwaarde instellen - Variabele

U kunt ook een celwaarde instellen die gelijk is aan een variabele

1234 Dim strTekst als tekenreeksstrText = "Tekstreeks"Bereik ("A2"). Waarde = strText

Celwaarde ophalen

U kunt celwaarden krijgen met dezelfde eigenschap Value die we hierboven hebben gebruikt.

ActiveCell-waarde ophalen

Om de ActiveCell-waarde te krijgen en deze in een berichtvenster weer te geven:

1 MsgBox ActiveCell.Value

Celwaarde toewijzen aan variabele

Een celwaarde ophalen en toewijzen aan een variabele:

123 Dim var als variantvar = Bereik ("A1"). Waarde

Hier gebruikten we een variabele van het type Variant. Variantvariabelen kunnen elk type waarden accepteren. In plaats daarvan zou u een String-variabel type kunnen gebruiken:

123 Dim var als Stringvar = Bereik ("A1"). Waarde

Een type String-variabele accepteert numerieke waarden, maar slaat de getallen op als tekst.

Als u weet dat uw celwaarde numeriek zal zijn, kunt u een dubbel variabele type gebruiken (dubbele variabelen kunnen decimale waarden opslaan):

123 Dim var als Doublevar = Bereik ("A1"). Waarde

Als u echter probeert een celwaarde met tekst in een dubbele variabele op te slaan, krijgt u een fout met het type mismatch:

Andere voorbeelden van celwaarden

Celwaarde kopiëren

Het is gemakkelijk om een ​​celwaarde gelijk te stellen aan een andere celwaarde (of een celwaarde te "kopiëren"):

1 Bereik ("A1"). Waarde = Bereik ("B1"). Waarde

U kunt dit zelfs doen met celbereiken (de bereiken moeten even groot zijn):

1 Bereik ("A1:A5"). Waarde = Bereik ("B1: B5"). Waarde

Vergelijk celwaarden

U kunt celwaarden vergelijken met behulp van de standaardvergelijkingsoperatoren.

Test of celwaarden gelijk zijn:

1 MsgBox Bereik ("A1"). Waarde = Bereik ("B1"). Waarde

Retourneert TRUE als de celwaarden gelijk zijn. Anders ONWAAR.

U kunt ook een If-instructie maken om celwaarden te vergelijken:

12345678910111213 Als Bereik ("A1"). Waarde > Bereik ("B1"). Waarde DanBereik ("C1"). Waarde = "Groter dan"Elseif Range ("A1"). Waarde = Bereik ("B1"). Waarde danBereik ("C1"). Waarde = "Gelijk"AndersBereik ("C1"). Waarde = "Kinder dan"Stop als

U kunt tekst op dezelfde manier vergelijken (onthoud dat VBA hoofdlettergevoelig is)

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave