• 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.

flexibel veldnamen defininieren met VBA

Status
Niet open voor verdere reacties.

gekantwoord

Nieuwe gebruiker
Lid geworden
25 nov 2007
Berichten
2
Hallo ik ben nieuw bij dit forum en kan zo snel geen antwoord vinden op mijn vraag tussen alle al eerder gesteled vragen over dit onderwerp.
mijn probleem is het volgende:
gezien ik meer dan 2000 nieuwe veldnamen moet definieren om diverse gegevens per geslacht in een overzicht te krijgen voor verschillende pensioenproducten wil ik door middel van een macro de velden van een naam voor zien. ik heb een tabblad "DEFENITIES met twee gevulde kolommen

kolom A kolom B
naam verwijzing

"RAAVPN99_ACL_M" "=VP_ACL!$L$1"
"RADOP1_ACL_M" "=OP_ACL!$X$1"

en de inhoud (letterlijk) van de kolommen wil ik gebruiken om via VBA de velden van een naam te voorzien.

de r_max in mijn macro heb ik gezet zodat de macro zelf zoekt naar het laatste regel waar nog een veldnaam in staat. flexibel dus.

de onderstaande macro werkt niet. weet er iemand hoe ik hem werkende kan krijgen?

Sub aanmaken()
'
' aanmaken Macro
' De macro is opgenomen op 23-11-2007 door gekantwoord.
'
'
Application.ScreenUpdating = False
Sheets("DEFINITIES").Activate
myrange = Range(Cells(2, 1), Cells(2, 1).End(xlDown)).Address
r_max = 1 + Application.WorksheetFunction.Max(Range(myrange))
'Dim naam As String
'Dim plek As Range

For r = 2 To r_max

naam = Cells(r, 1).Value
plek = Cells(r, 2).Value

ActiveWorkbook.Names.Add Name:=naam, RefersToR1C1:=plek

Next r
Application.ScreenUpdating = True

End Sub
 
Gekantwoord (geven wij hier niet....:D), Welkom op dit forum.
Je kan uiteraard waarden uit je sheet mee overnemen in je code, maar ik kan er zo niet uit wijs wat PRECIES je bedoeling is.:(
Kan je 't nog 'ns uitleggen en eventueel een voorbeeldworkbook bijvoegen (ontdaan van gevoelige info)? Want wil je nou aan de hand van de inhoud van een cel een nieuwe sheet toevoegen???

Groet, Leo

P.s. Als je de helpers blij wilt maken, zet je je code tussen 'code tags' (is via het het knopje met de #)
 
Laatst bewerkt:
Hoi

welkom op het forum ;)

Dit doet wat je gewild had:

Code:
Sub aanmaken()
    
    Dim myrange As Range
    Dim r As Range
    Dim naam As String
    Dim plek As String
    
    Application.ScreenUpdating = False
    
    Sheets("DEFINITIES").Activate
    
    Set myrange = Range(Cells(2, 1), Cells(2, 1).End(xlDown))
    
    For Each r In myrange

        naam = r.Value
        plek = r.Offset(0, 1).Value
        
        ActiveWorkbook.Names.Add Name:=naam, RefersToR1C1:="=DEFINITIES!" & Range(plek).AddressLocal(True, True, xlR1C1)

    Next
    
    Application.ScreenUpdating = True

End Sub

Wigi

PS: mogen we vragen om in het vervolg code tussen zgn. code tags te zetten? Dat is het # teken als je een nieuw bericht maakt. Plak de code daartussen. Dank.
 
flexibel veldnamen definieren met VBA

YES. het is gelukt. hartstikke bedankt. Wigi het ging niet meteen goed, maar met een kleine aanpassing in de macro en de manier waarom kolom a en b gevuld heb is het gelukt. ook dankzij de vraag van Knakje "define veldnamen" en antwoord van Rocario.

Ginger, mijn vraag was inderdaad niet super duidelijk

als bijlage heb ik een bestand die mijn vraag verduidelijkt en een mooi resultaat toont.

:thumb:
 

Bijlagen

Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan