Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel][VBA] Hyperlink met VBA opbouwen

Pagina: 1
Acties:

  • Elconejo
  • Registratie: Oktober 2005
  • Laatst online: 12-11 15:03
Ik probeer via VBA een formule in een cel te plaatsen die het object HYPERLINK bevat.
Na lang testen en uitzoeken ben ik tot de conclusie gekomen dat het vba de code niet meer wil uitvoeren vanaf het moment dat de string dubbele quotes bevat.

Ik stel eerst de formule manueel op met de hulp van exel en bekom dan het volgende:
=HYPERLINK("[Componenten.xlsm]Basisproducten!A7";"PCB_O-3")

Om deze string te maken in VBA gebruik ik onder andere de functie Chr(34) wat me dubbele quotes oplevert.
Visual Basic:
1
2
3
4
5
6
Dim formule As String

formule = "=HYPERLINK(" & Chr(34) & "[Componenten.xlsm]Basisproducten!A" & j & Chr(34) & ";" & Chr(34) & Blad5.Cells(j, 1).Text & Chr(34) & ")"

MsgBox formule
Blad14.Cells(rij, 1) = formule


De variable j is op dit moment 7 zoals gewenst. Met de MsgBox controleer ik de string voordat ik deze aan de cel koppel (Enkel bij het testen).
De string formule ziet er exact hetzelfde uit als wat in de formule moet staan. Toch heeft VBA een fout als ik deze code uitvoer:

Fout 1004 tijdens de uitvoering:
Door de toepassing of door object gedefinieerde fout


Ik krijg deze fout vanaf het moment dat ik de functie Chr(34) aan m'n formule toevoeg. Dit zorgt voor een correcte weergave in de MsgBox maar heeft een fout bij het toekennen aan de juiste cel.

Ik heb al op de forums van tweakers gezocht naar iemand met hetzelfde probleem maar niet veel gevonden behalve dit topic:

\[Excel/VBA]Hyperlink genereren naar ander tabblad

Dit topic gaat meer over het niet vinden van een hyperlink nadat deze met succes aan een cel gekoppeld werd. Waarschijnlijk heeft mijn probleem hier ook wat mee te maken maar ik heb wat moeite met de formule gegeven als oplossing te interpreteren en te gebruiken in VBA om m'n eigen probleem op te lossen.

De bedoeling van dit alles is om een samenvattende lijst te genereren uit andere bladen en door op de cel van de samenvatting te klikken wordt naar de desbetreffende rij gesprongen.

  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09 20:58

Ruudjah

2022

Ongetwijfeld heb je hier al aan gedacht: het escapen van de dubbelle quote met een... dubbele quote?

TweakBlog


Verwijderd

het scheidingsteken is in vba altijd gelijk aan , en niet ;
formulenamen zijn in vba ook in het engels, tenzij je een aangepaste eigenschap gebruikt om de formule in te brengen. het gebruik van chr(34) in de code lijkt me op het eerste zicht correct.

  • Elconejo
  • Registratie: Oktober 2005
  • Laatst online: 12-11 15:03
Ongeloofelijk hoe iets als een ; ipv , je kan bezighouden... 8)7

Bedankt voor de tip _heretic_ _/-\o_