Een plaatje tonen uit een lijst met plaatjes

Inhoud

Inleiding

Excel wordt nogal eens gebruikt om bijvoorbeeld onderdelen lijsten in bij te houden, soms zelfs inclusief plaatjes van de onderdelen in het Excel bestand.

In dit artikel wordt een methode getoond om een dynamisch plaatje te maken, welk verandert wanneer een ander artikelnummer wordt gekozen uit de lijst met beschikbare artikelnummers.

De lijst voorbereiden

Allereerst moeten de plaatjes op de juiste manier geplaatst worden. Elk plaatje moet hierbij volledig binnen de kaders van 1 cel passen, op dezelfde rij als het artikelnummer waartoe het plaatje behoort.

Formatteer de cellen, zodat het plaatje volledig in 1 cel past (pas of de afmetingen van het plaatje aan, of verander de rijhoogte en kolombreedte):
 chermafbeelding die een lijst met ikoontjes toont, naast hun beschrijvingen
Figuur 1, Schermafbeelding die een lijst met ikoontjes toont, naast hun beschrijvingen.

Het werkblad waarop het dynamische plaatje getoond gaat worden voorbereiden

Er is een methode nodig om te bepalen welk plaatje getoond moet worden. We beginnen door een dynamische range naam te definieren, welke zich automatisch aan het aantal artikelen zal aanpassen (aannemende dat de gegevens staan op werkblad Sheet1, beginnende in cel A1, met 1 kopregel). In Excel 97-2003 kies Invoegen, Naam, Definieren; In Excel 2007 en hoger in het lint, de tab "Formules", de "Gedefinieerde Namen" groep, de "Naam Bepalen " knop kiezen. Voer de volgende naam in:

Naam
Verwijst Naar
PictureList
=VERSCHUIVING(Sheet1!$A$1;1;0;AANTALARG(Sheet1!$A:$A)-1;1)

Stel dat cel A2 op Sheet2 wordt gebruikt om een code in te voeren behorende bij een plaatje. Dan zal onderstaande formule wijzen naar de cel die het plaatje omvat:

Name
Refers to
Picture
=VERSCHUIVING(Sheet1!$B$2;VERGELIJKEN(Sheet2!$A$2;PictureList;0)-1;0;1;1)

Het plaatje maken

Excel 2007

Er zijn 2 manieren om het juiste type plaatje in Excel 2007 te krijgen. De eerste is door gebruik te maken van de "camera tool" door deze toe te voegen aan de QAT, De andere woordt hieronder getoond.

Selecteer de cel waar het dynamische plaatje moet verschijnen en klik op de tab "Invoegen" van het lint. Helemaal aan de rechterkant bevindt zich de knop "Object", klik daar op.

 Object knop op het lint
Figuur 2, Object knop op het lint

Het dialoogvenster object verschijnt. Kies de bovenste optie (Bitmap afbeelding) en klik OK.

 Dialoogvenster Object
Figuur 3, Dialoogvenster Object

Excel 2010

In Excel 2010 werkt het invoegen van een object niet en moet je Afbeelding invoegen kiezen.

Druk op escape om terug te keren naar Excel. Als het goed is, is een nieuwe (leeg) afbeeldingsobject geselecteerd. De formule balk bevat nu een formule met zoiets als =INSLUITEN("Paint.Picture";""). Vervang de formule in de formulebalk door deze formule: =Picture

 Schermafdruk die de formule van het geplakte plaatje toont
Figuur 3, Schermafdruk die de formule van het geplakte plaatje toont.

Druk enter of klik het groene vinkje links van de formulebalk.

Excel 97 tot en met 2003

Selecteer de bovenste cel met en plaatje erin. Houdt de shift knop ingedrukt en kies uit het menu: "Bewerken, Afbeelding kopiëren...":

 Schermafdruk die het menu Bewerken toont wanneer de shift knop wordt ingedrukt

Figuur 4, Schermafdruk die het menu Bewerken toont wanneer de shift knop wordt ingedrukt.

Selecteer "Als op scherm" in het volgende venster en klik OK.

Selecteer nu de cel waarin je het plaatje wilt tonen (op werkblad Sheet1 in dit vorbeeld) en klik op de "plakken" knop (of druk control-v):
 Schermafdruk die het geplakte plaatje toont

Figure 5, Schermafdruk die het geplakte plaatje toont.

  • Uiteraard is dit plaatje statisch. Om het dynamisch te maken kunnen we een formule gebruiken als de bron van het plaatje.
  • Klik op het plaatje zodat het geselecteerd wordt. Klik dan één keer in de formule balk.
  • Typ het gelijk teken, gevolgd door de naam "Picture" en druk op Enter:

 Schermafdruk die de formule van het geplakte plaatje toont
Figure 6, Schermafdruk die de formule van het geplakte plaatje toont.

  • Selecteer nu cel A2 en tik één van de beschrijvingen uit de lijst in deze cel en druk op enter. Als het goed is, verandert het plaatje en wordt nu het bijbehorende plaatje getoond.

Het plaatje dynamisch maken

Om het selecteren van de beschrijvingen te vereenvoudigen, kunnen we gebruik maken van Data, Validatie:

  • Selecteer cel A2 en kies Data, Valideren... uit het menu.
  • Kies uit de bovenste keuzelijst de optie "Lijst".
  • Vul in het Bron vak deze formule in: =PictureList
  • Indien nodig kunt u de velden op de andere tabs ook invullen ("Invoerbericht" en "Foutmelding")
  • Klik OK:

 Gegevensvalidatie instellingen venster

Nu kan kunnen we kiezen uit een lijst met beschikbare beschrijvingen:

 Lijst met keuzes in gegevensvalidatie keuzelijst

Klaar!

Download

Klik hier om een voorbeeld bestand te downloaden.

Andere oplossingen

Bernie Deitrick bedacht dit bestand, dat meerdere plaatjes aan kan, maar VBA gebruikt.


Vragen, suggesties en opmerkingen

Laatste 8 commentaren van in totaal 60 (Toon ze allemaal):

 


Commentaar van: Jan Karel Pieterse (26-2-2015 13:11:01) deeplink naar dit commentaar

Hallo Guillaume,

Stuur maar op (zie adres hieronder).


Commentaar van: Anonymous (26-8-2015 14:00:03) deeplink naar dit commentaar

Beste,

Ik heb een bestand in excel met 9 tabbladen.
Het eerste tabblad is het werkblad die alle formules bevat om prijzen aan te passen per tabblad.
Het gaat namelijk om een tarieflijst.

Graag had ik dan ook op de eerste werkblad tab een afbeelding ingevoegd zodanig dat die op alle volgende tabs ook ineens komt te staan.

Echter vind ik niet hoe dit te doen?

Kunt u mij helpen aub?

Alvast bedankt!


Commentaar van: Jan Karel Pieterse (1-9-2015 08:53:21) deeplink naar dit commentaar

Hallo Pushpa,

Als je de eerste afbeelding gemaakt hebt en deze werkt, kan je die gewoon kopieren en op de andere tabbladen plakken.


Commentaar van: Peter Veldhuyzen (27-1-2018 14:23:45) deeplink naar dit commentaar

Hoi JPK,

ik loop helaas ook vast, vreemd genoeg.

Deze onder Excel2003 uitgevoerd.
Ik wil een 2de combobox naast de eerste zetten,
zet de andere gegevens hiervoor ook op sheet1,
wil deze dus ook toonbaar maken op sheet2,
en er gebeurt niets.
Kolommen anders gespecificeerd, A wordt D, B wordt E.
Ik hoop dat jij mij kunt helpen.

Bedankt alvast!


Commentaar van: Jan Karel Pieterse (29-1-2018 09:53:48) deeplink naar dit commentaar

Hoi Peter,

Heb je voor de tweede keuzelijst ook nieuwe bereiknamen gemaakt? Dat moet namelijk.


Commentaar van: bram delfosse (16-10-2018 09:49:05) deeplink naar dit commentaar

hey,

ik probeer, maar krijg het niet voor elkaar in meerdere cellen (of het plaatje wijzigt in alle cellen).
Ik probeer om in 9 cellen steeds de keuze te geven tussen iets wat verplicht is of niet verplicht is, en daar een icoontje bij te tonen.
ik mail het bestand even door...


Commentaar van: Harm V (30-8-2019 20:41:00) deeplink naar dit commentaar

als ik =Picture in de formulebalk typ, PRECIES zoals u dat laat zien, krijg ik steevast:"de verwijzing is ongeldig"


Commentaar van: Jan Karel Pieterse (2-9-2019 11:29:00) deeplink naar dit commentaar

Hoi Harm,

Dat betekent waarschijnlijk dat er een probleem is met de definitie van die bereiknaam.


Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: excelexperts.nl/forum/index.php.




Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].