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)