Excel VBA-variabele in bereik
Variabelen vormen het hart en de ziel van grote VBA-projecten, aangezien variabelen hart en ziel zijn, en het soort gegevenstype dat we eraan toewijzen, is in dat opzicht ook een zeer belangrijke factor. In onze vele eerdere artikelen hebben we het vaak gehad over variabelen en het belang van hun gegevenstype. Een van die variabelen en datatype is "Bereikvariabele" in dit speciale artikel. We zullen een complete gids geven over "Range Variable" in Excel VBA.
Wat is bereikvariabele in Excel VBA?
Net als elke andere variabele Bereik in VBA, is de variabele ook een variabele, maar het is een "Objectvariabele" die we gebruiken om de referentie van het specifieke celbereik in te stellen.
Net als elke andere variabele kunnen we elke naam aan de variabele geven, maar het gegevenstype dat we eraan toewijzen, moet een 'bereik' zijn. Als het gegevenstype eenmaal aan de variabele is toegewezen, wordt het een "Objectvariabele", en in tegenstelling tot een andere variabele kunnen we de variabele niet gebruiken voordat we de referentie van objecten hebben ingesteld in het geval van objectvariabelen.
Dus nadat we de variabele hebben gedeclareerd, moeten we het sleutelwoord “SET” gebruiken om de objectreferentie in te stellen, dwz in dit geval Range-object.
Ok, nu zullen we enkele van de voorbeelden van Excel VBA Range Variables praktisch zien.

Voorbeelden van bereikvariabele in Excel VBA
Stel dat u het celbereik van A2 tot B10 wilt selecteren voor de onderstaande schermafbeelding.

Om dit genoemde celbereik te selecteren, al deze terwijl we het RANGE-object hebben en binnen het bereikobject, hebben we het celadres tussen dubbele aanhalingstekens vermeld.
Code:
Sub Range_Variable_Example () Bereik ("A2: B10") End Sub

Als het bereik van cellen eenmaal is vermeld met behulp van het RANGE-object, zouden we, als u een punt plaatst, alle eigenschappen en methoden zien die aan dit bereikobject zijn gekoppeld.
Code:
Sub Range_Variable_Example () Bereik ("A2: B10"). Einde Sub

Omdat we de genoemde cellen eenvoudig moeten selecteren, kiest u de "Select" -methode uit de IntelliSense-lijst.
Code:
Sub Range_Variable_Example () Bereik ("A2: B10"). Selecteer End Sub

Voer de code uit en het zal de genoemde cellen selecteren.

Dit is duidelijk, nietwaar, maar stel je voor dat het scenario van het gebruik van hetzelfde bereik in het lange VBA-project, laten we zeggen honderd keer, het schrijven van dezelfde code van "Bereik (" A2: A10 ")" 100 keer enige tijd in beslag neemt, maar in plaats daarvan zullen we de variabele declareren en het gegevenstype toewijzen als "Range" -object.
Oké, laten we uw eigen naam aan een variabele geven en het gegevenstype toewijzen als 'Bereik'.

Behalve "Objectvariabelen" kunnen we de variabelen beginnen te gebruiken met hun naam, maar in het geval van "Objectvariabelen" moeten we de referentie instellen.
In dit geval is ons variabele (Rng) -object bijvoorbeeld een bereik, dus we moeten de verwijzing naar het woord "Rng" instellen. Om de referentie in te stellen, moeten we het trefwoord "Set" gebruiken.

Nu verwijst de variabele "Rng" naar het celbereik van A2 tot B10. In plaats van elke keer 'Bereik (' A2: B10 '))' te schrijven, kunnen we gewoon het woord 'Rng' schrijven .
Noem op de volgende regel de variabelenaam "Rng" en plaats een punt om de magie te zien.

Zoals je hierboven kunt zien, kunnen we alle eigenschappen en methoden van bereikobjecten zien, zoals de vorige.
Maak de variabele dynamisch
Nu weten we hoe we de verwijzing naar het celbereik moeten instellen, maar zodra we het celbereik noemen, blijft het alleen bij die cellen. Elke toevoeging of verwijdering van cellen heeft geen invloed op die cellen.
Dus het vinden van het nieuwe celbereik na elke toevoeging of verwijdering van cellen maakt de variabele dynamisch van aard. Dit is mogelijk door de laatst gebruikte rij en kolom te zoeken.
Om de laatst gebruikte rij en kolom te vinden, moeten we nog twee variabelen definiëren.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding End Sub

Now below code will find the last used row & column before we set the reference to a range object variable.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column End Sub

Now open the “Set” keyword statement.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

Dit zal nu de laatste verwijzing naar de bereikobjectvariabele "Rng" instellen. Noem vervolgens de variabelenaam en gebruik de “Select” -methode.
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Laatste rij voor het begrijpen van Dim LC As Long' LC = Laatste kolom voor het begrijpen LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Select End Sub
Nu zal ik nog een paar regels aan mijn gegevens toevoegen.

Ik heb drie extra regels met gegevens toegevoegd. Als ik de code nu uitvoer, moet deze het nieuwste gegevensbereik selecteren.

Dingen om te onthouden
- De bereikvariabele in Excel VBA is een objectvariabele.
- Elke keer dat we de objectvariabele gebruiken, moeten we het sleutelwoord "Set" gebruiken en de objectreferentie naar de variabele instellen.
- Zonder de referentie in te stellen, kunnen we geen objectvariabele gebruiken.