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

Automatisch Hyperlink naar verschillende submappen

Status
Niet open voor verdere reacties.

johan2812

Gebruiker
Lid geworden
7 jun 2018
Berichten
14
Beste forumleden,

Met behulp van een aantal andere forumleden hier heb ik het bijgevoegde bestand opgebouwd tot wat het nu is. Ik mis alleen nog iets.
Ik zou graag willen dat de PON-nummers automatische een hyperlink krijgen als deze aangemaakt wordt. In een mapje Orders hebben al onze leveranciers een eigen mapje met in die mapjes al onze orders bij hun en bij sommige zelfs nog, afhankelijk van de hoeveelheid orders, de orders verdeeld onder in jaartallen, deze heten allemaal PON-'jaartal'-'ordernummer'. Even voorbeeld van de opzet van de mappen: C:\Suppliers\Orders\'de leverancier'\2018\PON-2018-223

Is het mogelijk om met VBA iets te schrijven. Ik wil graag dat er automatisch een hyperlink ontstaat in de kolom 'PON-nummer' wanneer ik de bijbehorende map aanmaak in verkenner, de map. Het maakt mij niet uit als het PON-nummer al klaarstaat in het excel-bestand, achter de benummering zit ook niks ingewikkeld, het telt gewoon door ongeacht wie de leverancier is.

In verschillende topics wordt iets sorrtgelijks al besproken, maar ik ben het nog niet tegengekomen waar bestanden in submappen staan in een hoofdmap. Mocht ik het over het hoofd gezien hebben dan hoor ik het ook graag!

Ik hoor het graag van jullie of dit zou kunnen en of jullie me hierbij ook kunnen helpen!

Groetjes Johan

Bekijk bijlage Overzicht Orders.xlsm
 
Laatst bewerkt:
Plaats deze procedure in de Worksheet Module van de VBE van de sheet waar het moet gaan werken...
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.Columns(2)) Is Nothing Then
        Target.Hyperlinks.Add Target, "\\TEDC01\Data$\Suppliers\Orders\" & Target.Offset(, 1).Value & "\" & Target.Value, , , Target.Value
        Cancel = True
    End If
End Sub
Note... Je activeert de procedure door te dubbelklikken in de betreffende PON cel die je wilt voorzien van een hyperlink.
Note2... er zit geen beveiliging op! Ofwel, als je de naam van de producent niet hebt ingevoerd, zal er een onbruikbaar pad ontstaan. Je moet dus eerst de Producentnaam ingevoerd hebben voordat je de hyperlink kan aanmaken.
Note3... ik heb je opzet van hyperlink aangehouden zoals die ook wordt gebruikt in de hyperlinks die nog in je bijlage staan.
 
Laatst bewerkt:
Helemaal super, dit heb ik nu werkende. Alleen hebben we alle orders bij sommige leveranciers waar we vaak bestellen de orders nog onderverdeeld naar jaar. Dus alle orders van 2016 staan in de map '2016 en die van 2018 in de map '2018'. Het maakt het denk ik extra ingewikkeld, dat dit weer niet bij alle leveranciers zo is.

Kun je me misschien hier nog bij verder helpen?
 
Johan, Tja... daar creëer je een probleem. Als je iets wilt automatiseren, moet je gebruik maken van uniformiteit (als je het simpel wilt houden tenminste). Mijn voorstel is dat je voor elke leverancier die jaartalmappen aanhoudt. Lijkt me ook wel zo logisch.
Eventueel kan je als een workaround een msgbox laten verschijnen met de vraag of je een jaartal moet opnemen in het pad. Zo ja, dan toevoegen aan de hyperlink, zo nee dan dus niet. ;)
Hoe weet jij NU welke leverancier een jaartalmap heeft en welke niet? Staat dat al ergens in die tabel?
 
Ja, daar was ik al bang voor. Dat moet ik hier op kantoor misschien maar eens even aankaarten. Uniformiteit is inderdaad wel prettig. Voor nu is het telkens nog een verrassing hoe de indeling van de leveranciersmap is.

In ieder geval al bedankt voor je hulp.
 
Hallo Johan,
Let even op dat bij auteur van het bestand een bedrijfsnaam is te zien. Ik kan mij zo voorstellen dat dit niet de bedoeling is.
 
Hierbij dan wel de methode met een MSG én een INPUTBOX...
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.Columns(2)) Is Nothing Then
        JaarNodig = MsgBox("Heb je voor deze leverancier een jaartal in het pad van de hyperlink nodig?", vbYesNo, "Jaartal?")
        If JaarNodig = vbYes Then Jaar = "\" & Application.InputBox("Geef het jaartal voor het pad...", "Pad compleet", Year(Date), , , , , 1)
        Target.Hyperlinks.Add Target, "\\TEDC01\Data$\Suppliers\Orders\" & _
                                       Target.Offset(, 1).Value & _
                                       IIf(JaarNodig = vbYes, Jaar, "") & _
                                       "\" & _
                                       Target.Value, , , Target.Value
        Cancel = True
    End If
End Sub
Wellicht kan je die gebruiken als tussenfase voordat jullie overstappen naar consistentie. ;)
 
Dank je wel Ginger.

Maar moet ik deze er nu inplakken ipv de eerste code?
 
Ho sorry, ik plakte de link niet op de juiste plek. Hij doet het nu.

Nogmaals, heel erg bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan