Hoe gebruik je de speciale celmethode?
In VBA kunt u met de speciale cellenmethode een cel of celbereik van een specifiek type en een specifiek waardetype selecteren. Stel dat u wilt weten welke cellen in het bereik A1:A10 een formule hebben en als waarde zijn genummerd? Welnu, u kunt dit resultaat bereiken met de SpecialCells-methode.
Gebruik de speciale cellenmethode in VBA
![gebruik de speciale cellenmethode in vba](https://exceladvisor.org/wp-content/uploads/2023/08/1-utiliser-la-methode-des-cellules-speciales-dans-vba.png)
Hier schrijven we code om het adres van de laatst gebruikte cel in het bereik A1:A10 te achterhalen. Merk op dat er in de speciale celmethode twee argumenten zijn, waarvan er één vereist is en de andere optioneel.
- Declareer eerst een variabele als een bereik om dit celadres op te slaan dat door de code wordt geretourneerd.
- Raadpleeg daarna het bereik en gebruik de methode “SpecialCells”, waarbij u het argument “Type” moet opgeven met “xlCellTypeLastCell”.
- Stel vervolgens deze speciale regel celcode in op de variabele die u in de eerste stap hebt gedefinieerd.
- Vanaf hier moet u een VBA-berichtenvenster gebruiken om het adres van de celretouren op te halen via de speciale celmethode.
- Gebruik aan het einde de eigenschap adres met de variabele om het adres van de laatste type cel op te halen.
Hier is de volledige code.
Dim myRng As Range Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell) MsgBox myRng.Address
Wanneer u deze code nu uitvoert, wordt er een berichtvenster weergegeven met het adres van de cel die het laatst is gebruikt (getypt). Dus hier in mijn geval gebruikte ik cel A10 en dezelfde ontving ik in het berichtenvenster.
Selecteer cellen met notities
In Excel zijn de oude “Opmerkingen” nu “Notities”. Wanneer u code schrijft om opmerkingen te selecteren, worden de opmerkingen binnen het opgegeven bereik geselecteerd. Beschouw de volgende code.
![selecteer cellen met notities](https://exceladvisor.org/wp-content/uploads/2023/08/5-cellules-selectionnees-avec-des-notes.png)
Dim myRng As Range Set myRng = _ Range("A1:A10").SpecialCells(xlCellTypeComments) myRng.Select
Gebruik beide argumenten
Zoals ik al eerder zei, heb je twee argumenten voor de SpecialCells-methode. Laten we nu eens kijken hoe u de twee argumenten kunt gebruiken om cellen te selecteren die een formule hebben, en dat de waarde die door de formule wordt geretourneerd een logische waarde is.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical) myRng.Select
Wanneer ik nu de bovenstaande code uitvoer, worden cellen geselecteerd uit het bereik A1 tot A11, waar ik formules en logische waarden heb.
![gebruik van beide argumenten](https://exceladvisor.org/wp-content/uploads/2023/08/6-en-utilisant-les-deux-arguments.png)
Selecteer cellen met voorwaardelijke opmaak
Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions) Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)
Selecteer zichtbare cellen
En u kunt ook het zichtbare selecteren met behulp van de constante “xlCellTypeVisible”. Beschouw de volgende code.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible) myRng.Select
![selecteer cellen met voorwaardelijke opmaak](https://exceladvisor.org/wp-content/uploads/2023/08/7-cellules-selectionnees-avec-mise-en-forme-conditionnelle.png)
Of u kunt ook ’12’ als argumentwaarde gebruiken.
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(12) myRng.Select
Cellen met gegevensvalidatie
Range("A1:A11").SpecialCells(xlCellTypeAllValidation) Range("A1:A11").SpecialCells(xlCellTypeSameValidation)