• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bereiknamen maken in VBA

Status
Niet open voor verdere reacties.

PolBE

Gebruiker
Lid geworden
12 okt 2016
Berichten
53
Beste,

Ik ben hier opnieuw met een vraagje. Ik wil namen van bv. een range niet in Excel zelf opgeven maar in VBA. Ik heb iets gevonden op internet dat zou moeten werken maar ik krijg het niet aan de praat.
De volgende code heb ik in een module gezet en wil de naam 'myRange' gebruiken in een procedure. Om het gemakkelijk te maken bv. om in een 'private sub' via een knop deze range te selecteren.
Kan iemand dit verduidelijken, dank u.

Code:
Sub NameRange_Add()

Dim cell As Range
Dim rng As Range
Dim RangeName As String
Dim CellName As String

'Range of Cells Reference (Workbook Scope)
  RangeName = "myRange"
  CellName = "Q10:R26"
  
  Set cell = Worksheets("data").Range(CellName)
  ThisWorkbook.Names.Add Name:=RangeName, RefersTo:=cell

End Sub

Code:
Private Sub test() 
      myRange.select
End Sub
 
je kan geen bereik selecteren als je niet op dat werkblad staat.
Eigenlijk is selecteren van een bereik, tenzij strikt nodig, ballast in je VBA-code, dus te vermijden
Code:
Sub GaNaarMyRange()
    Set rng = ActiveWorkbook.Names("MyRange").RefersToRange
    Application.Goto rng    'voor het geval je op een ander werkblad staat
    rng.Select
End Sub
 
Laatst bewerkt:
@jkpieterse, tja, ik gaf al aan geen voorstander te zijn van die select, maar aangezien die application.goto maar betrekking heeft op 1e cel en niet op de ganse range is het toch niet volledig correct dacht ik.
 
Nee hoor, goto gaat naar de hele range die je opgeeft.
 
Ik zou het zo doen.
Code:
Sub NameRange_Add()
Sheets("data").Range("Q10:R26").Name = "myRange"
Application.Goto [myrange] 'of range("myRange")
End Sub
 
Bedankt iedereen

Er is echter iets mis gegaan met mijn laatste melding. Deze is blijkbaar niet geupload.

Ik had geschreven dat ik de formule misbegrepen had. Deze is om namen aan bereiken te geven en zo een overzicht te hebben in VBA.
Dit had ik ondertussen al ondervonden en daarom had ik de vraag al gesloten.

Groeten
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan