Inhoudsopgave
In dit artikel laat ik u zien hoe u een variabele kunt instellen op een celwaarde met behulp van VBA U leert een variabele in te stellen op de waarde van een enkele cel en een bereik van cellen.
Download Praktijk Werkboek
Download dit oefenwerkboek om te oefenen terwijl u dit artikel leest.
Stel Variabele in op Cell.xlsm3 Snelle voorbeelden om een variabele in te stellen op een celwaarde in Excel
Hier hebben we een dataset die de namen van enkele klanten hun contactnummers en e-mailadressen binnen bereik B3:D13 van een werkblad.
Wij streven ernaar variabelen in te stellen op celwaarden uit deze gegevensreeks met behulp van VBA .
1. Variabele instellen op een enkele celwaarde met Excel VBA
Eerst leren we een variabele op een enkele celwaarde in te stellen met behulp van VBA .
Laten we bijvoorbeeld de waarde van cel B4 naar een variabele genaamd Klantnaam .
Het is beter als je het gegevenstype van de waarde kent en het vooraf declareert. En dan de waarde in die variabele zet.
Bijvoorbeeld, hier cel B4 bevat de naam, Boris Pasternak Het is een string-type variabele. Daarom kunt u het volgende gebruiken 2 regels code:
Dim Waarde als String Waarde = Range("B4")
Maar het is goed als u niet zeker bent van het gegevenstype. Schrijf in dat geval alleen de 2e regel, en VBA zal de waarde correct voor u lezen.
Waarde = Range("B4")
Nu, om te controleren of VBA de waarde correct heeft gelezen of niet, voer de regel MsgBox Waarde met een van de twee sets codes en voer dan de code uit.
Er verschijnt een berichtvenster met de waarde van cel B4 , Boris Pasternak .
2. Waarden van een aangrenzend bereik van cellen in een variabele zetten met Excel VBA
Nu zetten we de waarden van een aangrenzend bereik van cellen in een variabele. Laten we bijvoorbeeld het bereik B3:D13 in de variabele Rng .
Hier zal het gegevenstype van de variabele een Bereik Je kunt het zo aangeven:
Dim Rng Als Bereik Stel Rng = Bereik("B3:D13")
Of u kunt er direct de waarden mee toekennen.
Set Rng = Range("B3:D13")
Om toegang te krijgen tot de waarden van de Bereik object moet u ze met hun rij- en kolomnummers benaderen met een Cellen object .
Bijvoorbeeld, om toegang te krijgen tot cel B4 dan moet je Rng.Cells(2,1) [ Cel B4 is in de 2e rij en 1e kolom van de reeks B3:D13 .]
Voer de lijn in MsgBox Rng.Cells(2,1) in je code en voer het uit. Het zal laten zien Boris Pasternak de waarde in cel B4 .
3. Waarden van een niet-aangrenzend bereik van cellen in een variabele zetten met Excel VBA
Tenslotte zetten we de waarden van een niet-aangrenzend bereik van cellen in een variabele.
Laten we bijvoorbeeld proberen de reeks te lezen B3:B13 en D3:D13 in een variabele genaamd Rng .
Het is weer een gegevenstype van Bereik Je kunt het vooraf aangeven of niet.
We gebruiken de Uniemethode van VBA om toe te treden 2 of meer niet-aangrenzende celbereiken tot één bereik.
Dim Rng als Range Set Range = Union(Range("B3:B13"), Range("D3:D13").
Nu om toegang te krijgen tot de cel B4 moet je opnieuw de regel MsgBox Rng.Cells(1,1). Als we dan de code uitvoeren, zal het de inhoud in cel B4 , Boris Pasternak .
Dingen om te onthouden
Alle hierboven beschreven methoden werken alleen voor het actieve werkblad. Als u een werkblad wilt openen dat niet actief is, moet u de naam van het werkblad vóór het bereik vermelden.
Bijvoorbeeld, om toegang te krijgen tot het bereik B4 van Blad1 moet je gebruiken:
Waarde = Werkbladen("Blad1").Bereik("B4")