Hoe maak je een benoemd bereik met vba?

Om een benoemd bereik te maken met VBA, moet u de eigenschap “Names” verder gebruiken met de methode “Add”. In de add-methode heb je argumenten om te definiëren welke naam je het bereik wilt geven en om het adres van het bereik op te geven (zorg ervoor dat je het dollarteken bij het adres gebruikt om het bereik te bevriezen).

Maak een naambereik met VBA

  1. Definieer de werkmap waarin u het benoemde bereik wilt maken.
  2. Gebruik de eigenschap namen en voeg vervolgens een extra methode toe.
  3. Geef de naam op in het argument “Naam”.
  4. Verwijs naar het bereik met behulp van het argument “ReferTo”.
maak een naambereik met behulp van vba

In het bovenstaande voorbeeld heeft u de actieve werkmap en gebruikt u vervolgens de eigenschap “Names” met de methode “Add” om de naam van het bereik in te stellen, en aan het einde het adres van het bereik dat u wilt gebruiken.

Zoals ik al eerder zei, moet je in het adresbereik het $-teken gebruiken om het adres te bevriezen. U kunt ThisWorkbook ook gebruiken om te verwijzen naar de werkmap waarin u de code schrijft, of u kunt naar een andere werkmap verwijzen met behulp van het werkmapobject.

VBA om een benoemd bereik uit selectie te maken

U kunt de eigenschap selectie ook gebruiken om een benoemd bereik te maken op basis van de selectie. Beschouw de volgende code.

 ActiveSheet.Names.Add Name:="myRangeName", RefersTo:=Selection

En in de volgende code heb je een berichtvenster waarmee je de naam kunt invoeren die je aan het benoemde bereik wilt geven.

 Sub vba_named_range() Dim iName As String iName = InputBox("Enter Name for the Selection.") ActiveSheet.Names.Add Name:=iName, RefersTo:=Selection End Sub

De grootte van een benoemd bereik wijzigen met VBA (Dynamic Named Range)

Om het formaat van een benoemd bereik dat al in het werkblad aanwezig is te wijzigen, moet u de eigenschap resize gebruiken en VBA vertellen hoeveel rijen en kolommen u uit het huidige bereik wilt uitbreiden. Beschouw de volgende code die het bereik met de naam “myRange” uitbreidt, dat aanvankelijk cel A1 als bereik heeft, maar het formaat ervan wijzigt naar kolom M en rij 11.

het formaat van een benoemd bereik wijzigen
 Sub vba_named_range() Dim iRow As Long Dim iColumn As Long iRow = ActiveSheet.Range("A1").End(xlDown).Row iColumn = ActiveSheet.Range("A1").End(xlToRight).Column ActiveSheet.Range("myRange") _ .Resize(iRow, iColumn).Name = "myRange" End Sub

Ik heb dit in drie delen verdeeld om het u duidelijk te maken. Laten we nu aan de slag gaan.

verdeeld in drie delen
  • In het EERSTE deel heb je variabelen gedeclareerd om de rijen en het aantal kolommen op te slaan.
  • In het TWEEDE deel gebruikte je de “END”-methode met het bereik om de laatste rij en kolom op te halen en op te slaan voor variabelen.
  • In deel DRIE gebruikte je de eigenschap Resize met het bereik genaamd “myRange”. En daarna het rij- en kolomnummer dat je in de variabelen hebt staan.
variabelen die zijn gedeclareerd om rijen op te slaan

Wanneer u deze code uitvoert, wordt de grootte van het oude bereik aangepast op basis van de gegevens die u hebt en wordt er een dynamisch benoemd bereik van gemaakt. Wanneer u het moet bijwerken, kunt u de code uitvoeren en het bestaande benoemde bereik wijzigen.

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *