hyperlink aanmaken dmv een macro

Status
Niet open voor verdere reacties.

wroefkes

Gebruiker
Lid geworden
17 jan 2018
Berichten
27
Ik wil graag dmv een macro een hyperlink toevoegen aan een geselecteerde cel. Die cel bevat een projectnummer (bv 17.50.02). De hyperlink moet verwijzen naar een submap van een projectmap die hetzelfde nummer heeft, maar ook een naam (vb '17.50.02 Project B'. De submap heeft voor elk project de naam 'Bouwplaats'.
Naar die map moet de hyperlink dus verwijzen.

Uiteraard kan ik dit voor vele verschillende projecten handmatig doen en tot nu toe heb ik dat ook gedaan... Maar voor de toekomst wil ik het graag automatiseren via een macro met VBA code.

Met VBA code zal ik het voor elkaar moeten krijgen dat het projectnummer (17.50.02) gezocht wordt in de hoofdmap met alle projectmappen. En zodra dat is gebeurd, de projectmap wordt 'geopend' en vervolgens de map 'Bouwplaats'. In de geselecteerde cel moet de hyperlink nu aangemaakt zijn.

Ik heb veel gegoogled om een antwoord te krijgen op dit probleem, maar helaas niets bruikbaars kunnen vinden. wie kan mij helpen?
 
VenA hartelijk dank voor jouw snelle reactie.

In eerste instantie heb ik ook een macro opgenomen en die werkt dan voor die ene actieve cel. En ik begrijp dat ik iets variabel zou moeten maken (ik doel op mijn omschrijving "het projectnummer (17.50.02) gezocht wordt in de hoofdmap met alle projectmappen"), maar ik zou niet weten hoe ik dat moet vertalen naar VBA code... Ik kan "Hello World" programmeren in een pop-up schermpje, maar daarmee is de koek wel zo'n beetje op :confused:

Aan de link die je hebt vermeld, heb ik al heel wat. Heb je ook tips om de macro variabel te maken?

De map waarnaar de hyperlink moet verwijzen staat concreet op de schijf T: data > Aanbestedingen > Opdrachtgevers > Projectmap (waarvan de naam voor alle projecten begint met projectnummer gevolgd door de naam; in de vorm xx.xx.xx NAAM Project --> bijvoorbeeld 17.50.06 Project B)
Onder deze projectmappen staat in alle gevallen een submap genaamd 'Bouwplaats'. Daar moet de hyperlink naar verwijzen.

Ik hoop dat dit het wat concreter maakt?
 
Ik word nieuwsgiering naar jouw opgenomen macro.
 
Bedankt ook snb voor jouw reactie.

Dan zal ik die morgen posten! Ik hoop dat dat misschien voor de nodige helderheid zorgt :)
 
Welk besturingssysteem gebruik je? 'T: data > Aanbestedingen > Opdrachtgevers > Projectmap' ziet er niet erg bekend uit als mappenstructuur. En wanneer wil je dat de hyperlink wordt toegevoegd? Op het moment van wijzigen van de inhoud van 1 cel of eenmalige voor de hele database?
 
Hierbij de code:

Sub HyperlinkAutoToevoegen()
'
' HyperlinkAutoToevoegen Macro
'

'
Range("B34").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"T:\Opdrachtgevers\Project onderhanden\12.10.07 nieuwbouw 18 woningen\05 Bouwplaats" _
, TextToDisplay:="12.10.07"
End Sub


Ik wil de hyperlink tot stand laten komen op het moment dat ik een cel (met projectnummer) selecteer en dan de macro start. Het is niet nodig een bepaald bereik in één keer van hyperlinks te voorzien.

Cel B34 is in dit geval gevuld met het projectnummer 12.10.07. De nieuwe hyperlink moet dus linken naar de submap '05 Bouwplaats' van het project met hetzelfde nummer op de T: schijf. Deze projectmappen staan niet in dezelfde volgorde als de kolom met projectnummer in mijn excelbestand.

Helderder kan ik het niet omschrijven. Ik hoop op jullie inbreng!
 
Om maar eens ergens te beginnen

Code:
Sub VenA()
c00 = "T:\Opdrachtgevers\Project onderhanden\"
  With CreateObject("Scripting.FileSystemObject")
    For Each it In .getfolder(c00).subfolders
      If Split(it.Name)(0) = ActiveCell.Value Then
        ActiveSheet.Hyperlinks.Add ActiveCell, it.Path & "\05 Bouwplaats"
        Exit For
      End If
    Next it
  End With
End Sub
 
Bedankt VenA,

Ik ga er morgen mee stoeien! Moet ik dit nog combineren met de opgenomen macro of staat jouw code op zichzelf?

Dank voor de hulp in ieder geval!
 
De macro werkt! Bedankt VenA voor jouw hulp. Dit had ik zelf nooit voormekaar gekregen.

Nu nog onder een knopje zetten.... et voilà :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan