Ik wil automatisch een hyperlink toevoegen in Excel

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • djhemm
  • Registratie: December 2019
  • Laatst online: 03-01-2020
Mijn vraag

Ik ben bezig met een overzicht van leveranciers. Nu kan ik via een formulier een leverancier toevoegen aan een tabel in excel. Hierna wordt er voor deze leverancier ook een tabblad aangemaakt.
Het lukt me alleen niet om in de tabel ook automatisch een link te krijgen naar het nieuwe tabblad.

Tot nu toe heb ik alles in vba gedaan maar dit kon ik niet vinden op internet.
Hoop dat iemand hier een oplossing heeft.

Beste antwoord (via djhemm op 30-12-2019 11:24)


  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Probeer dit:
code:
1
2
3
4
5
6
7
8
9
Sub cmdSluiten_Click()
Dim myrange As Range, namestr As String
Unload Me
Set myrange = Sheets("Leveranciers").Range("A" & Rows.Count).End(xlUp)
With myrange
namestr = .Value
.Hyperlinks.Add myrange, Address:="", SubAddress:=namestr & "!A1"
End With
End Sub

Alle reacties


Acties:
  • +1 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

djhemm schreef op vrijdag 27 december 2019 @ 14:37:
Tot nu toe heb ik alles in vba gedaan maar dit kon ik niet vinden op internet.
Welkom :)
Zeker als VBA acceptabel is, zijn er via Google en ook hier een boel tips te vinden, dus voordat we dubbel werk doen: wat zijn concreet functies die niet genoeg zijn voor je?

Edit: zoals zoeken bij google naar 'excel add hyperlink to sheet' -> https://www.ablebits.com/...5/excel-insert-hyperlink/ maar dat spreekt voor zich

[ Voor 23% gewijzigd door F_J_K op 28-12-2019 00:58 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • djhemm
  • Registratie: December 2019
  • Laatst online: 03-01-2020
Dankje,

Het maken van een Hyperlink is het probleem niet alleen wil ik dit automatisch laten gebeuren wanneer er een nieuw tabblad wordt aangemaakt.
mijn code tot nu toe is:

---------------------------------------------------------
Private Sub cmdSluiten_Click()
'sluit het formulier
Unload Me

'gaat terug naar tabblad leveranciers

Sheets("leveranciers").Select

'maak een hyperlink naar het nieuwe tabblad (wordt automatisch aangemaakt vanuit het "overzicht" tabblad)


Range("A1").End(xlDown).Row.Select

ActiveCell.Hyperlinks.Add(selection, Address:="", SubAddress:="'value.activeCell


End Sub
------------------------------------------------------------------------------

Maar deze werkt niet.

[ Voor 12% gewijzigd door djhemm op 30-12-2019 08:45 ]


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Als na sluiting van het formulier de naam van de nieuwe leverancier in de laatst in gebruik zijnde cel in kolom A staat en het nieuw aangemaakte blad dezelfde naam heeft als in die cel, dan kun je gebruiken:
code:
1
2
3
4
Private Sub cmdSluiten_Click()
Unload Me
Sheets(Range("A" & Rows.Count).End(xlUp).Value).Activate
End Sub

Acties:
  • 0 Henk 'm!

  • djhemm
  • Registratie: December 2019
  • Laatst online: 03-01-2020
In dat geval kom ik op het nieuwe formulier uit, maar ik heb dan nog niet de hyperlink naar het nieuwe formulier in mijn overzicht tabblad staan.

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Je komt op een blad uit, niet op of in een formulier.

Acties:
  • 0 Henk 'm!

  • djhemm
  • Registratie: December 2019
  • Laatst online: 03-01-2020
sorry, klopt.
Ik kom uit op het nieuwe tabblad.
Maar heb nog geen link naar dit tabblad in mijn overzicht staan.

code:

1 Private Sub cmdSluiten_Click()
2 Unload Me
3
4 'gaat terug naar tabblad leveranciers en naar laatst toegevoegd bedrijf
5 Sheets("leveranciers").Select
6 Selection.Range("A1500").End(xlUp).Cells.Select
7
8 'maak een hyperlink naar het nieuwe tabblad (dat wordt gevormd vanuit het overzicht tabblad)
9
10 ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
11 "Blad1!A1", TextToDisplay:="Test"
12
13 End Sub

in plaats van "Blad1!A1" op regel 11 moet hier dus de verwijzing komen naar het tabblad met de naam gelijk aan de inhoud van de laatst toegevoegde cel (dit is dus de actieve cel) en de text to display moet deze naam blijven.

Ik hoop dat het zo iets duidelijker is.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Probeer dit:
code:
1
2
3
4
5
6
7
8
9
Sub cmdSluiten_Click()
Dim myrange As Range, namestr As String
Unload Me
Set myrange = Sheets("Leveranciers").Range("A" & Rows.Count).End(xlUp)
With myrange
namestr = .Value
.Hyperlinks.Add myrange, Address:="", SubAddress:=namestr & "!A1"
End With
End Sub

Acties:
  • 0 Henk 'm!

  • djhemm
  • Registratie: December 2019
  • Laatst online: 03-01-2020
Top, de code werkt prima, dank.
Pagina: 1