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

Celnamen veranderen, maar wat met de hyperlinks

Status
Niet open voor verdere reacties.

gGerretje

Gebruiker
Lid geworden
12 mrt 2008
Berichten
439
Hallo beste helpers,

Ik heb in een bestand celnamen gedefinieerd (Aantal_A, Aantal_B, etc).
Verder heb ik op diverse plaatsen hyperlinks opgenomen die verwijzen naar deze cellen.

Dit werkt allemaal goed.

Maar nu wil ik conform de celnamen op een ander blad (Nederland_A, Nederland_B, etc) de celnamen op mijn eerste werkblad (België) hernoemen naar België_A, België_B. En de hyperlinks naar Aantal_A, Aantal_B, etc. moeten dan ook naar België_A, België_B, etc.
Die celnamen kan ik best even handmatig aanpassen, maar dan werken natuurlijk de hyperlinks niet meer.

Weet iemand hoe ik die dan wel automatisch zou kunnen aanpassen?
 
Laatst bewerkt:
Een voorbeeldbestand lijkt me wel handig, Gerrit!
 
Weet iemand hoe ik die dan wel automatisch zou kunnen aanpassen?
waarschijnlijk wel, maar als lid van 2008 zou je ondertussen moeten weten
WAAR IS HET VOORBEELD BESTANDJE??????
 
Laatst bewerkt:
Oké mannen,

Natuurlijk hebben jullie gelijk. Het probleem leek me deze keer zo duidelijk, ....
Maar ik begrijp dat het handiger is voor jullie om even met het voorbeeld zelf t egaan stoeien.

Sorry.
Bij deze.

groetjes,
Ger

Bekijk bijlage celnamen.xlsx
 
Ger, wellicht schiet mijn kennis te kort, maar wat is de toegevoegde waarde van dit bestand?
 
Hallo Sjon,

Een verkorte versie van mijn bestand, met alleen de relevante gegevens?
Maar ik zie nu dat de twee volledige werkbladen klein genoeg zijn om te kunnen uploaden.

Bij deze het bestand.

Ik wilde dus de celnamen op het werkblad België wijzigen van Aantal_A naar België_A (net zoals ik dat op het andere werkblad had gedaan met Nederland_A etc.)
Niet dat dat noodzakelijk is, maar ik wilde er een aanpassen en toen ik zag dat dan de hyperlinks niet automatisch meeveranderen. Ik vroeg me dus af of dat via vba-code wel kon.




Bekijk bijlage BrouwerijenTest.xlsm
 
Kijk eens of dit voldoet.
Probeer het eerst uit op een kopie van je bestand.
Code:
Sub tsh()
    Dim Cl As Range
    Dim sTx As String
    Dim vNaam As Name
    
    For Each vNaam In ThisWorkbook.Names
        If InStr(vNaam.Name, "Aantal") > 0 Then
            sTx = vNaam.Name
            Set Cl = Range(sTx)
            vNaam.Delete
            Names.Add Replace(sTx, "Aantal", "België"), Cl
        End If
    Next
    For Each Cl In [COLOR=#ff0000]Intersect(ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants), Columns(7))[/COLOR]
        If Cl.Hyperlinks.Count > 0 Then
            sTx = Cl.Hyperlinks(1).SubAddress
            Cells(1).Hyperlinks.Delete
            Cells(1).Hyperlinks.Add [COLOR=#ff0000]Cl.Resize(, 5)[/COLOR], "", Replace(sTx, "Aantal", "België"), , Cl.Value
        End If
    Next
End Sub

Edit: De roodgekleurde coderegels zijn maatwerk, waarmee ik maar wil zeggen dat een representatief voorbeeldbestand voor deze vraag noodzakelijk is.
 
Laatst bewerkt:
Hallo Timshel,

Dat werkt perfect.
Het ziet er alweer wat netter uit (ook al zie je het dan niet).
En de code is zeker interessant om te bewaren voor soortgelijke gevallen.

Heel erg bedankt voor je hulp.
En de anderen ook voor hun interesse.

Groetjes,
Ger
 
Zou dit ook werken?

Even in een testbestand uitvoeren natuurlijk.
Code:
Sub hsv()
Dim Nm As Name, Hp As Hyperlink
 For Each Nm In Application.Names
    Nm.Name = Replace(Nm.Name, "Aantal", "België")
 Next
    For Each Hp In ActiveSheet.Hyperlinks
        Hp.SubAddress = Replace(Hp.SubAddress, "Aantal", "België")
    Next
End Sub
 
Dag Harry,

Bij mij doet 'ie niets.
Helaas, want de code is wel veel korter.

Groetjes,
Ger
 
In het bestand wat je plaatste bij mij wel, maar goed als het bij jou niet werkt, ....jammer.
 

Bijlagen

  • BrouwerijenTest hsv.xlsb
    421 KB · Weergaven: 1.053
Dag Harry,

Naar aanleiding van je bestandje heb ik het nog eens geprobeerd.
Nu als macro in een module geplaatst (ik had hem eerst als code rechtstreeks onder een knop gezet).

Als macro werkt hij wel.

Mooie code hoor.
Bedankt voor je toevoeging.

Groetjes,
Ger
 
Dag Ger,


Waarschijnlijk:
Code:
For Each Hp In [COLOR=#0000ff]ActiveSheet[/COLOR].Hyperlinks
even veranderen in:
Code:
For Each Hp In [COLOR=#0000ff]sheet(1)[/COLOR].Hyperlinks
of:
Code:
For Each Hp In [COLOR=#0000ff]sheet("België").[/COLOR]Hyperlinks
of:
Code:
For Each Hp In [COLOR=#0000ff]blad1[/COLOR].Hyperlinks
 
Hallo Harry,

Dank je wel.
Ik ga het morgen even uitproberen.

Voor nu ben ik even aan het kijken hoe het kan dat (na de aanpassingen van Tmshel of van jou) plotseling de aangepaste celnamen (Belgie_A etc) niet meer beschikbaar zijn voor de hele werkmap, maar alleen voor werkblad België. Ik zie ook niet hoe ik dat kan herstellen. Bij namen beheren kan ik het ook niet aanpassen.
Dus als je daar nog een oplossing voor hebt....

Groetjes,
Ger
 
Ik kan dit niet reproduceren.
Als ik in jouw voorbeeld, ná het draaien van de macro, in een lege cel in tabblad Nederland de formule "=BelgieA" typ verschijnt er de betreffende celwaarde en niet een fout ofzo.
 
Hallo Timshel,

Het is niet de bedoeling om de waarde van cel België_A ergens weer te geven door middel van =België_A.
Het is de bedoeling dat als ik bij een van mijn brouwerijen een nieuw etiketje aankruis, dan voor de brouwerijnaam de waarde handmatig met 1 ophoog en dan op de brouwerijnaam klik en via een hyperlink naar België_A ga (verondersteld dat de brouwerijnaam met een A begint uiteraard) waar ik ook de waarde handmatig met 1 ophoog.

Nou vraag je je wellicht af waarom ik dat ophogen dan nog handmatig doe (automatisch kan toch net zo gemakkelijk), maar dat is om er zeker van te zijn dat ik een etiketje ook werkelijk aankruis en de telling ook daadwerkelijk bijhoud. Zo weet ik zeker dat ik ook alle etiketjes aankruis en meetel.

Groetjes,
Ger
 
Hallo Jan Karel,

Ik heb hem gedownload. Ook geïnstalleerd (denk ik toch), maar ik krijg dat extra vakje in het menu Formules niet te zien.
Ik zal dus nog even moeten kijken wat ik ander moet doen.

In ieder geval bedankt voor je suggestie.

Groetjes,
Ger
 
Doe de handmatige installatie via Bestand, Opties, Invoegtoepassingen, Ga... (of alt+x, i). Maar zorg dat alle instanties van Excel eerst gesloten zijn en open dan een nieuwe.
 
De installatie is gelukt.
1 naam aanpassen gaat goed, maar hoe pas ik er meerdere tegelijk aan?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan