• 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.
Werkt prima, maar alleen bij klikken op een cel.
Niet bij hover, zoals met een commentaar boxje.
 
Yep klopt, zo heet het draadje toch ;)... plaatje laten zien bij muisklik :cool:
 
Klopt ook ;)
TS kan nu kiezen :)
 
Hallo Harry,

Heel mooi Harry. Dank je wel.
In plaats van te wachten op Excel 22010 was het haalbaarder om even op jouw reactie te wachten :)
Dit lijkt de perfecte oplossing. Maar ...

Ik begrijp dus dat je een driehoekje over elke Opmerking-indicator legt.

Met deze code en met wShp=6 en hShp=4 zie je ik in de 100% weergave nog net een heel dun randje van die indicator. Zoom ik iets verder in dan is dat weg.
Ik was dus zo vrij om eens te experimenteren met waarden 7 en 4 en ja hoor: helemaal weg.
Nog eens proberen met 5 en 5, ook weg. Nog een paar andere waarden (12 en 4) ook weg. Bij een selectie van meer cellen zie je dan het witte driehoekje. Geen probleem.

Maar als ik het goed begrijp komen er dus straks elke keer als ik het werkblad selecteer pakweg 1000 driehoekjes of meer bij (zoveel als er etiketjes zijn ingevoegd).
Dat lijkt mij ook vroeg of laat problemen te gaan geven.
Of niet?

Groetjes,
Ger
 
Laatst bewerkt:
Werkt prima, maar alleen bij klikken op een cel.
Niet bij hover, zoals met een commentaar boxje.

Nu in kolom I met Hover, kolom N met klik
 

Bijlagen

  • test met plaatjes (1).xlsm
    294,6 KB · Weergaven: 50
Yep, de hyperlink truuk.
Keurig toegepast :)
 
Hoi Eric en Ed,

Ik heb het bestand van Eric geopend maar mijn Excelversie (2010) geeft bij het openen van het bestand aan dat het onleesbare inhoud bevat.
Als ik voor herstellen kies blijkt dat er iets verwijderd is.
In de eerste versie was dat een afbeelding. In de laatste ging het om /xl/calcChain.xml-onderdeel en volgt een compileerfout op
Code:
With Blad1.Shapes("Image1")

Ik zie wel dat je een UserForm hebt aangemaakt maar dat wordt dus niet geopend.

En ik had inderdaad aangegeven dat het plaatje bij een muisklik zou moeten verschijnen.
Ik had op dat moment ook een UserForm in gedachten maar vond uiteindelijk de voorgestelde oplossingen (zonder die schaduwrand) al fraai genoeg om te gebruiken.
Met als mogelijke verbetering nog dat verhaal over die witte driehoekjes in de oplossing van Harry. Ik hoop dat hij straks nog even op mijn vraag terugkomt.

@ Eric: als het niet teveel werk is om die fout eruit te halen wil ik jouw versie graag nog uitproberen.

Bedankt voor jullie bijdragen

Groetjes,
Ger
 
Laatst bewerkt:
Download 'm eens opnieuw.
Met dat document is niks aan de hand.
 
Hoi Ed,

Ik had het al een keer of drie geprobeerd.
Nu nog eens met weer dezelfde foutmelding.

Het zal dan wellicht aan mijn Excelversie liggen. Of ergens een instelling.

Groeten,
Ger
 
Als je er nu al driehoekjes in hebt staan en die moeten allemaal verwijderd worden doordat er waarschijnlijk velen gestapeld zijn, kun je ze hiermee verwijderen.
Of als je alle comments verwijderd wil je ook het driehoekje niet meer.
Code:
Sub verwijder_alle_driehoekjes()
Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
   If shp.AutoShapeType = msoShapeRightTriangle Then shp.Delete
 Next shp
End Sub


Bij nieuwe comments wil je ook een driehoekje en laat je natuurlijk de code weer lopen, de aangemaakte driehoekjes gaan zich stapelen op de vorige.
Hierbij worden de oude verwijderd en nieuwe aangemaakt.
De code geeft nu een naam aan het driehoekje.

Code:
Sub CoverCommentIndicator()
Dim Cmt As Comment
For Each Cmt In ActiveSheet.Comments
 On Error Resume Next
  ActiveSheet.Shapes(Cmt.Parent.Address(0, 0) & "item").Delete
  With ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, Cmt.Parent.Offset(, 1).Left - 5, Cmt.Parent.Top, 5, 5)
    .Flip msoFlipVertical
    .Flip msoFlipHorizontal
    .Fill.ForeColor.SchemeColor = 1
    .Fill.Visible = msoTrue
    .Fill.Solid
    .Line.Visible = msoFalse
    .Name = Cmt.Parent.Address(0, 0) & "item"
  End With
Next
End Sub
 
Het zal dan wellicht aan mijn Excelversie liggen. Of ergens een instelling.
Heb zelf geen problemen met het bestand ook niet in Excel 2010, wellicht kun je geen ActiveX-besturingselementen hebben oid
Het Userform dient enkel als opslag, deze hoef je niet aan te roepen
 
Het is geen onbekend probleem in Office 2010.
Heb je de laatste build er van.
Update deze anders eens als je de mogelijkheid hebt.
 
@ Eric en Ed:
Ik ga zeker kijken of ik kan updaten. Maar ik ben toch van plan om Office365 te kopen ivm gebruik op onze iMac.
Dan zullen de nieuwe problemen zich wel snel opstapelen ben ik bang :-(

Maar ik begrijp het dus goed dat Eric een Userform aanmaakte om alle etiketten op te slaan en ze dan vanuit de code op te roepen.
Ik bedacht namelijk dat mijn Excel-bestand dan wel erg groot gaan worden. Ik heb al 1500 etiketten in de grootste werkmap (zag dat Eric bekend is met De Snaterende Arend ... geweldig).
Dat had ik me niet gerealiseerd toen ik begon aan deze actie. In mijn oorspronkelijk bestand zou dat overigens niet anders zijn.

Is het dan geen beter idee om de plaatjes te koppelen aan een extern bestand?
Ja ik heb gemakkelijk babbelen natuurlijk want hoe, daar heb ik ook nog geen goed idee van.
Lijkt mij beter om dan een nieuwe vraag aan te maken.

@ Harry:
Dat namen geven aan de driehoekjes vind ik knap bedacht maar met je vorige ideeën lijkt het me logischer om bij het openen van het werkblad alle driehoekjes te verwijderen en meteen nieuwe driehoekjes te plaatsen. Dan stapelt het zich in ieder geval niet op.

Ik heb nu de volgende code en dat werkt goed:

Code:
Private Sub Worksheet_Activate()
Dim pWs As Worksheet
Dim pComment As Comment
Dim pRng As Range
Dim pShape As Shape
Dim wShp As Long
Dim hShp As Long

Dim shp As Shape

    For Each shp In ActiveSheet.Shapes
'   stukje code van cow18 om de schaduwen uit de plaatjes te halen
'       MsgBox shp.TopLeftCell.Address & vbTab & shp.Name   'zeg cel linkerbovenhoek en naam
        If Not Intersect(Range("F1:N42"), shp.TopLeftCell) Is Nothing Then
            shp.Shadow.Visible = msoFalse
        End If
'   coderegel van Harry om alle driehoekjes over de opmerkingindicatoren te verwijderen
        If shp.AutoShapeType = msoShapeRightTriangle Then shp.Delete
    Next shp
 
'   overige coderegels van Harry om nieuwe driehoekjes te plaatsen
 
Set pWs = Application.ActiveSheet
wShp = 5
hShp = 5
For Each pComment In pWs.Comments
  Set pRng = pComment.Parent
  Set pShape = pWs.Shapes.AddShape(msoShapeRightTriangle, pRng.Offset(0, 1).Left - wShp, pRng.Top, wShp, hShp)
  With pShape
    .Flip msoFlipVertical
    .Flip msoFlipHorizontal
    .Fill.ForeColor.SchemeColor = 1
    .Fill.Visible = msoTrue
    .Fill.Solid
    .Line.Visible = msoFalse
  End With
Next
End Sub

Rest nog de vraag: gaat het niet erg langzaam worden als straks alle etiketten gecontroleerd moeten worden en de schaduw moet worden verwijderd (plus driehoekjes verwijderd en nieuw aangemaakt) en wordt de file niet te groot en is het dan niet beter om al die de etiketjes in de bronmap (of een submap) te plaatsen in plaats van op het werkblad?

Groetjes,
Ger
 
Laatst bewerkt:
Buiten dat alles om, hou er bij gebruik op MacOS rekening mee dat er slechts beperkte ondersteuning is voor Office VBA.
 
Is het dan geen beter idee om de plaatjes te koppelen aan een extern bestand?

Ja, nogal.
Wat vraagjes:

  • Staan alle plaatjes in dezelfde folder?
  • Hebben ze allemaal dezelfde extensie? (.jpg/.png/ etc)
  • Komen de namen overeen met de plaatjes?
  • Zo nee, Heb je een lijst met namen met in aparte kolom(men) daarachter het pad , naam en extensie?
  • moet het etiket zichtbaar worden bij mousehover of bij klik?
  • Moet het zichtbare etiket altijd even groot zijn?
 
Hoi Eric,

Ik heb een nieuw bestandje bijgevoegd. Zo ziet het hele bestand er ongeveer uit. Met drie werkbladen voor de etiketten van België, Nederland en Overige landen.
Met een paar duizend vermeldingen van bieren en met een kruisje voor de biernaam waarvan ik het etiketje in mijn verzameling heb.
Maar hoewel ik die etiketten heb ingeplakt heb ik ze niet allemaal op bestand.
Van etiketten die ik niet daadwerkelijk heb, is er soms ook een afbeeldingsbestand.

Om je vragen één voor één te beantwoorden:
  • de plaatjes mogen in dezelfde folder komen. Subfolders maken mag (bijvoorbeeld per brouwerij of per beginletter daarvan) maar hoeft niet.
  • ze hebben extensie .jpg, .png of .gif, maar ik kan ze allemaal op .jpg zetten
  • de namen van de afbeelding hebben (of krijgen) de naam van het bier. (in het voorbeeld dus Brune de Condroz.jpg). Echter om het overzichtelijk te houden zou ik er wellicht beter vier of vijf letters van de brouwerij vóór zetten.
  • zo nee: iets specifieker, de naam van het bier (kolom J) bevat niet alleen de naam maar meestal ook alcoholpercentage en meestal een omschrijving). Ik kan wel de naam van het bier alleen (of van het bestand) toevoegen in een lege kolom verder naar rechts (bijv kolom AA, ook nog toepasselijk :) ). In dat geval zou dus de bestandsnaam in kolom AA komen en het etiket getoond worden bij mousehover of klik in kolom I.
  • het etiket zou bij voorkeur zichtbaar moeten worden bij mouseover, maar bij klikken is ook geen probleem als dat gemakkelijker te realiseren is.
  • de etiketten (bestanden) hebben niet allemaal dezelfde afmeting en b x h verhouding. Ze moeten liefst wel allemaal met dezelfde hoogte getoond worden

Bestandjes zouden dus als naam moeten krijgen: Snate Nestvlieder.jpg of Condroz Brune.jpg of Herto Grand Cru.jpg

Ik ben benieuwd naar je bevindingen.
Bedankt alvast voor je inspanningen.

Groeten,
Ger
 
Dag Ger,
Ik mis je bestandje nog
 
Sorry. 't Is nog vroeg. Aan het bier kan het niet liggen ;-)
 

Bijlagen

  • AfbeeldingExtern1.xlsm
    205 KB · Weergaven: 34
Hoi Eric,

Ik ben even gaan rennen vanmiddag. Ook lekker om je gedachten even op te frissen.
Resultaat ...
Laat ik het nou niet moeilijker maken dan het al is.
Ga er maar van uit dat de mapnaam en de bestandsnaam bij elk etiket in kolom AA en AB staan.
Hoe ik die erin zet (handmatig, dan wel met een formule) dat zie ik later wel.

Groetjes,
Ger
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan