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

Foto in userform weergeven dmv hyperlink in cel

  • Onderwerp starter Onderwerp starter safe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

safe

Gebruiker
Lid geworden
15 feb 2013
Berichten
94
Hallo,

Ik ben momenteel bezig met het digitaliseren van ons personeelsbestand.
Ik heb in Excel alle n.a.w. gegevens van alle personeelsleden staan.
De planner gebruikt deze lijst en maakt planningen dmv een userform.
Als hij in Userform in de Combobox een naam aanklikt , komen de gegevens van de betreffende personeelslid daaronder te staan in de tekstvakken. (dmv Vlookup)

Ik wil graag ook een pasfoto van de betreffende in de Userform hebben staan. Ik heb alle pasfoto's als jpg in een map staan en heb achter de namen in het Excelwerblad een hyperlink staan naar deze foto.

Kan deze foto ook via deze hyperlink worden weergegeven in een Userform. ( dmv Vlookup o.i.d ?)

Gezien de inhoud van het bestand kan ik deze helaas niet als voorbeeld hier plaatsen.
I.p. daarvan hierbij 2 screenshots.

( In het grotere vak rechts bovenaan wil ik graag een pasfoto zichtbaar hebben )

Schermafbeelding 2013-08-28 om 12.50.52.pngSchermafbeelding 2013-08-28 om 12.50.26.png

Alvast bedankt !!

M.vr.gr.

Safe
 
Ik ben zelf geen fan van VLookup. Dit is een andere mogelijkheid;
Code:
Private Sub Keus1_Change()
    With Sheets("Pers.lijst")
        rij = .Columns(1).SpecialCells(2).Offset(7).SpecialCells(2).Find(Keus1).Row
        pasfoto = .Cells(rij, [U]99999[/U]) 'kolomnummer met locatie pasfoto)
        textbox2 = .Cells(rij, 2)
        textbox1 = .Cells(rij, 4)
        textbox9 = .Cells(rij, 3)
        textbox6 = .Cells(rij, 8)
        textbox7 = .Cells(rij, 10)
        textbox8 = .Cells(rij, 11)
        textbox11 = .Cells(rij, 5)
        textbox10 = .Cells(rij, 20)
        textbox12 = .Cells(rij, 26)
        
        Image1.Picture = LoadPicture(pasfoto)
    End With
End Sub
 
Beste Spaarle,

Bedankt voor je antwoord.
Ik heb je script toegevoegd, maar ik krijg helaas een foutmelding. (zie foto)

Schermafbeelding 2013-08-28 om 15.25.38.png

Enig idee waaraan dat kan liggen?
(Ik maak gebruik van Office 2010)

M.vr.gr.
Safe
 
Laatst bewerkt:
En zo?
Code:
rij = .Range("A8:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(keus1).Row
 
Hoe vul je je combobox (keus1) dan? Met een vast bereik?
Kopieer en plak onderstaande
Code:
Private Sub Keus1_Change()
    With Sheets("Pers.lijst")
        rij = .Columns(1).SpecialCells(2).Offset(7).SpecialCells(2).Find(Keus1).Row
        pasfoto = .Cells(rij, 25)
        textbox2 = .Cells(rij, 2)
        textbox1 = .Cells(rij, 4)
        textbox9 = .Cells(rij, 3)
        textbox6 = .Cells(rij, 8)
        textbox7 = .Cells(rij, 10)
        textbox8 = .Cells(rij, 11)
        textbox11 = .Cells(rij, 5)
        textbox10 = .Cells(rij, 20)
        textbox12 = .Cells(rij, 26)
        
        Image1.Picture = LoadPicture(pasfoto)
    End With
End Sub
Private Sub Userform_Initialize()
    b = Sheets("Pers.lijst").Columns(1).SpecialCells(2).Offset(7).SpecialCells(2)
    With CreateObject("Scripting.Dictionary")
        For Each v In b
            If v <> "" And Not .Exists(v) Then .Add v, Nothing
        Next
        Keus1.List = .Keys
    End With
End Sub
Nu worden alle unieke namen in kolom A in de combobox geladen...

Anders moet je toch even een kopie van je bestand maken en ontdoen van gevoelige info. Anders kan dit nog een hele tijd duren...
 
Laatst bewerkt:
Klopt. Gebruik ik werkblad " Pers.lijst " voor.
In kollom A staan de achternamen, kollom B de tussenvoegsels en kollom C de voornamen.
Dit ik aangepast in " CollumnCount " bij de eigenschappen van ComboBox " Keus1 " ( zie foto )
Schermafbeelding 2013-08-28 om 16.03.55.png

Bij het invoegen van je nieuwe script krijg ik inmiddels een nieuwe foutmelding. ( zie foto )
Schermafbeelding 2013-08-28 om 16.05.04.png

( Ik zal ff kijken of ik een neutrale kopie van het bestand kan toevoegen...)
 
Laatst bewerkt:
Heb je toevallig 'Option Explicit' bovenaan staan? Haal deze dan weg...
 
Om het inderdaad wat makkelijker te maken, hierbij het bestand..
Ik heb diverse ( voor deze functies onbelangrijk ) elementen eruit gehaald.

Op " Blad 1 " zie je " knop 1 " bovenaan. Deze is voor de betreffende Userform. ( Userform 5)
 

Bijlagen

Laatst bewerkt:
Ik heb je voorbeeld gebruikt, maar ik krijg nog steeds een foutmelding..
Kan dat anders aan mn versie Office liggen o.i.d? ( Zie foto )
Schermafbeelding 2013-08-28 om 17.18.02.png

Want als ik deze code toepas in mn volledige personeelsbestand dan krijg ik het volgende : ( Zie foto )
Schermafbeelding 2013-08-28 om 17.19.23.jpg
 
Inmiddels heb ik het probleem gevonden en opgelost.

Blijkt dat de hyperlink die excel aanmaakt voor de foto's niet wordt herkent.
De hyperlink begint met pasfoto's\naam
Het moet beginnen met c:\mapnaam\pasfoto's\naam

Nu wordt dit herkent en krijg ik netjes een foto in het betreffende vakje.

( Update )
Gek genoeg werkt dat niet bij iedere naam die ik selecteer..
Bij de 1e naam van de pers.lijst kan ik de reeds toegevoegde foto zien,
maar vanaf de 2e t/m de 7e personeelslid op de lijst krijg ik een foutmelding als ik al hun naam selecteer. ( zie foto )
Schermafbeelding 2013-08-28 om 19.06.36.png
Vanaf de 8e tot de laatste +/- 150e kan ik wel hun namen selecteren zonder dat ik een foutmelding krijg.
Ik heb alle cellen gecontroleerd op evt bijzonderheden van elkaar, maar kan er niet uit komen...

Enig idee??

M.vr.gr.
Safe
 
Laatst bewerkt:
Wederom weer opgelost..
Ik heb de andere script gebruikt welke eerder werd geadviseerd..


Code:
rij = .Range("A8:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(keus1).Row


Nu heb ik dat probleem niet meer..

Alle credits gaan naar Spaarie !!:thumb:

Enorm bedankt !!

M.vr.gr.
Safe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan