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

plaatje laten zien bij muisklik

Status
Niet open voor verdere reacties.
Hierbij jouw bestandje retour

In kolom AA het pad
In kolom AB de naam van het plaatje met extensie
pas deze aan, aan jouw huidige paden en namen

in kolom H de "Hyperlink"-UDF tbv het 'hooveren'
Deze zou je in principe door kunnen kopieren

Bij een Hover wordt het oude plaatje verwijderd, een nieuwe ingevoegd met het pad op dezelfde rij in AA en AB
Bij een Error een Error plaatje

Bij een klik in een andere cel dan in h8:h25000 verdwijnt het plaatje weer

eea nog wel wat fine-te-tunen, maar al redelijke aanzet dacht ik zo
succes
 

Bijlagen

  • AfbeeldingExtern1.xlsm
    217,3 KB · Weergaven: 44
Hoi Eric,

Dit is inderdaad al een heel knappe aanzet.
Het is me nog niet helemaal duidelijk hoe je het gedaan hebt maar ik ga zo snel mogelijk de code doorlopen om het te proberen te begrijpen.
Maar ook daarna zal ik nog wel een paar vragen hebben.

Bedankt alvast voor de gedane inspanningen.

Groetjes,
Ger
 
Hallo Eric,

Nogmaals bedankt voor je programmeerwerk tot dusver.
Het prototype ziet er al geweldig uit

Ik heb geprobeerd de code een beetje te doorgronden maar ik moet je zeggen dat me dat slechts voor een heel klein deel is gelukt.
En dat met Excel-VBA voor professionals (van Wim de Groot) ernaast.

Wat ik begrijp is dat je de SelectionChange op het werkblad gebruikt om te zorgen dat de afbeelding onzichtbaar wordt als je buiten kolom H klikt.
En dat je een

Ik zie echter niet waarom je die gegevens uit kolom I naar kolom H hebt omgezet. Ik probeerde dus te doorgronden hoe ik de plaatjes kon laten zien bij mousehover op kolom H, maar daar kom ik niet uit.
Je hebt een hyperlink gekoppeld aan de cellen in H maar die kan ik ook niet wijzigen.
Ook het errorplaatje zie ik nergens (vind ik vreemd). En je gebruik vaker namen als "biertje" en beer.value (maar dan zie ik weer niet welke range) en ik zie niet waar je gebruik maakt van de mapnaam en bestandsnaam om de afbeelding te laten zien.

Kortom: er is nog heel wat studie nodig voor mij om dit soort dingen te maken.
Knap werk hoor.

Maar misschien kun je me wat op weg helpen.

Voor wat de functionaliteit betreft heb ik een paar vragen:

  • ik wilde de plaatjes graag gekoppeld hebben aan kolom I (daar waar de namen van de biertjes oorspronkelijk staan)
  • de mousehover blijkt een heel druk beeld te geven met die steeds veranderende plaatjes. Een muisklik in kolom H zou beter zijn.
  • ik begrijp dat je foutmeldingen wilt voorkomen maar het is voldoende als er alleen een afbeelding verschijnt als de map en het bestand bestaan. Bij een foute mapverwijzing of een niet aanwezig etiket hoeft geen Error-melding te komen. Ik selecteer namelijk vaak cellen cel om inhoud te wijzigen, zonder dat er een etiket van het betreffende biertje aanwezig is.
  • Gaat de afbeelding niet in de weg zitten als ik in de cel wil typen?
  • Tot slot moet ik de code etc natuurlijk wel nog kunnen overbrengen naar mijn oorspronkelijke bestand. Een module aanmaken en wat code kopiëren is geen probleem maar met zo'n hyperlinks ga ik vastlopen.

Ik hoop dat je wel plezier hebt aan het programmeren van dit alles.
Eigenlijk zouden we dat samen moeten kunnen doen. Mét een biertje erbij. :)

Bedankt alvast voor je hulp.

Groetjes,
Ger
 
Wat ik begrijp is dat je de SelectionChange op het werkblad gebruikt om te zorgen dat de afbeelding onzichtbaar wordt als je buiten kolom H klikt.
Dat klopt
Ik zie echter niet waarom je die gegevens uit kolom I naar kolom H hebt omgezet. Ik probeerde dus te doorgronden hoe ik de plaatjes kon laten zien bij mousehover op kolom H, maar daar kom ik niet uit.
Je hebt een hyperlink gekoppeld aan de cellen in H maar die kan ik ook niet wijzigen.
Ook het errorplaatje zie ik nergens (vind ik vreemd). En je gebruik vaker namen als "biertje" en beer.value (maar dan zie ik weer niet welke range) en ik zie niet waar je gebruik maakt van de mapnaam en bestandsnaam om de afbeelding te laten zien.
Dit omdat om te 'hoveren' je een hyperlinkfunktie nodig hebt en ik dus deze funktie in een willekeurige kolom moest zetten, je zou de namen dus ook in een verborgen kolom kunnen zetten, de genoemde namen komen in de functie terug
ik wilde de plaatjes graag gekoppeld hebben aan kolom I (daar waar de namen van de biertjes oorspronkelijk staan)
zie hierboven
de mousehover blijkt een heel druk beeld te geven met die steeds veranderende plaatjes. Een muisklik in kolom H zou beter zijn.
Dit zou je ook bij de opmerkingen variant gehad hebben en vandaar ook mijn eerdere posts en vragen ;)
EN een heel stuk eenvoudiger om te realiseren....
ik begrijp dat je foutmeldingen wilt voorkomen maar het is voldoende als er alleen een afbeelding verschijnt als de map en het bestand bestaan. Bij een foute mapverwijzing of een niet aanwezig etiket hoeft geen Error-melding te komen. Ik selecteer namelijk vaak cellen cel om inhoud te wijzigen, zonder dat er een etiket van het betreffende biertje aanwezig is.
Dit is puur als hulpmiddel om eventuele fouten qua bestandspaden eruit te halen
Gaat de afbeelding niet in de weg zitten als ik in de cel wil typen?
zolang je buiten kolom H klikt is er geen afbeelding, lijkt me dus geen probleem
Tot slot moet ik de code etc natuurlijk wel nog kunnen overbrengen naar mijn oorspronkelijke bestand. Een module aanmaken en wat code kopiëren is geen probleem maar met zo'n hyperlinks ga ik vastlopen.
Is 1 functie met een publieke variabele in 1 module en een simpel selectionchange-event

Ik kijk vanavond wel even of ik hem naar klik kan ombouwen, nu nog even werken onder het genot van het beste Nederlandse blond bier;)
 
Code achter jouw sheet:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I8:I25000")) Is Nothing Then
    If Bier = Target.Offset(, 1).Value Then Exit Sub
        On Error Resume Next 
            ActiveSheet.Pictures("biertje").Delete
        On Error GoTo 0
        
        On Error GoTo NoPic:
            Set pic = ActiveSheet.Pictures.Insert(Target.Offset(, 18).Value & Target.Offset(, 19).Value)
            pic.Visible = True
        
        With pic.ShapeRange
            .Name = "biertje"
            .Height = 164
            .Line.Visible = msoFalse
            .LockAspectRatio = msoTrue
            
            If .Rotation = 0 Or .Rotation = 180 Then
                .Left = Target.Offset(, 2).Left
                .Top = Target.Offset(, 2).Top
            Else 'voor het geval het oorspronkelijke plaatje "portrait" is
                .Top = Target.Offset(, 2).Top + ((.Width - .Height) / 2)
                .Left = Target.Offset(, 2).Left - ((.Width - .Height) / 2)
            End If
            
        End With
        Bier = Target.Offset(, 1).Value
        Else
        On Error Resume Next
            ActiveSheet.Pictures("biertje").Delete
        On Error GoTo 0
        Bier = ""
        End If
        Exit Sub
NoPic:
    Bier = ""
        
End Sub

Code bovenaan in een module:
Code:
Public Bier As String

In Kolom AA het pad waar jouw plaatjes staan met een \ erachter
In kolom AB de naam van het plaatje met extensie

Klikken op cel in kolom I
 
Hoi Eric,

Dit werkt super.

Ontzettend bedankt voor je hulp om mijn etikettenbestand zo te "upgraden".
Ik was er al heel tevreden over, maar nu is het helemáál te gek.

Je moet wel een bierliefhebber zijn om zoiets moois te kunnen programmeren :)

... werken onder het genot van het beste Nederlandse blond bier
Maar vertel me ter afsluiting wel nog even welk biertje dat dan is ...

Nogmaals dank ook aan de andere helpers voor hun bijdrage.

Groetjes,
Ger
 
Dag Ger,

graag gedaan, "La Trappe Blond" (mijn favoriet)

Mocht je jouw bestand (met de ettiketten!) willen delen, hou ik me aanbevolen.

Succes!
 
Hoi Eric,

Dat is tenminste echt een lekker biertje.
Al ben ik zelf meer voor de tripels.

Uiteraard wil ik mijn bestand delen.
Ik zal hem je zonder de laatste updates sturen.
Kun je ze er zelf inzetten.

Maar hoe kan ik hem je sturen?
Het is natuurlijk te groot om als bijlage toe te voegen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan