excel-vba                
            Genoemde bereiken
        
        
            
    Zoeken…
Invoering
Definieer een benoemd bereik
Door benoemde bereiken te gebruiken, kunt u de betekenis van de inhoud van een cel (len) beschrijven en deze gedefinieerde naam gebruiken in plaats van een echt celadres.
 Formule =A5*B5 kan bijvoorbeeld worden vervangen door =Width*Height om de formule veel gemakkelijker te lezen en te begrijpen. 
Als u een nieuw benoemd bereik wilt definiëren, selecteert u een of meer cellen die u een naam wilt geven en typt u vervolgens een nieuwe naam in het vak Naam naast de formulebalk.
Opmerking: Benoemde bereiken zijn standaard ingesteld op globaal bereik, wat betekent dat ze overal in de werkmap toegankelijk zijn. Oudere versies van Excel staan dubbele namen toe, dus zorg ervoor dat dubbele namen van wereldwijde omvang worden voorkomen, anders zijn de resultaten onvoorspelbaar. Gebruik Naambeheer op het tabblad Formules om het bereik te wijzigen.
Benoemde bereiken gebruiken in VBA
 Maak een nieuw benoemd bereik met de naam 'MyRange' toegewezen aan cel A1 
ThisWorkbook.Names.Add Name:="MyRange", _
    RefersTo:=Worksheets("Sheet1").Range("A1")
Verwijder het gedefinieerde benoemde bereik op naam
ThisWorkbook.Names("MyRange").Delete
Toegang op naam bereik op naam
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)
Toegang tot een benoemd bereik met een snelkoppeling
 Net als elke andere range , kan benoemde bereiken rechtstreeks worden benaderd met door middel van een snelkoppeling notatie die niet over een vereist Range object moet worden gemaakt. De drie regels uit het bovenstaande codefragment kunnen worden vervangen door een enkele regel: 
Call MsgBox("Width = " & [MyRange])
Opmerking: de standaardeigenschap voor een bereik is de waarde, dus
[MyRange]is hetzelfde als[MyRange].Value
 U kunt ook methoden in het bereik oproepen. Het volgende selecteert MyRange : 
[MyRange].Select
Opmerking: een waarschuwing is dat de sneltoetsnotatie niet werkt met woorden die elders in de VBA-bibliotheek worden gebruikt. Een bereik met de naam
Widthzou bijvoorbeeld niet toegankelijk zijn als[Width]maar zou werken zoals verwacht als het toegankelijk is viaThisWorkbook.Worksheets("Sheet1").Range("Width")
Beheer benoemde bereiken met Name Manager
Tabblad Formules> Groep gedefinieerde namen> Knop Naambeheer
Met Named Manager kunt u:
- Naam maken of wijzigen
- Celverwijzing maken of wijzigen
- Scope maken of wijzigen
- Verwijder bestaand benoemd bereik
Named Manager biedt een handig overzicht voor verbroken koppelingen.
Genoemde bereikmatrices
Voorbeeldblad
Code
Sub Example()
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Sheet1")
    
    Dim units As Range
    Set units = ThisWorkbook.Names("Units").RefersToRange
    
    Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
    Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub
Resultaat




