Een plaatje tonen uit een lijst met plaatjes
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):

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

Figuur 2, Object knop op het lint
Het dialoogvenster object verschijnt. Kies de bovenste optie (Bitmap afbeelding) en klik OK.

Figuur 3, Dialoogvenster Object
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

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...":

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):

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:

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:

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

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
Al het commentaar over deze pagina:
Comment by: Rutger de Vos (11/19/2009 7:41:39 AM)Waar moet ik deze naam definieren in het voorbeeld?
Picture =VERSCHUIVING(Sheet1!$B$2;VERGELIJKEN(Sheet2!$A$2;PictureList;0)-1;0;1;1)
Comment by: Jan Karel Pieterse (11/19/2009 8:42:33 AM)Hallo Rutger,
Gewoon, in het bestand waar je de plaatjes wilt gaan tonen.
Comment by: Maarten (2/15/2010 7:20:56 AM)Hallo Jan Karel,
Is dit bovenstaande ook mogelijk voor mijn situatie?
Ik heb in blad 3 de afbeeldingen staan,
in blad 2 staat mijn drop down menu
nu wil ik graag dat op blad 1 de afbeelding wijzigt.
Is dat ook mogelijk, omdat bij jou oplossing zowel drop down menu als afbeelding op een blad staan.
Comment by: Jan Karel Pieterse (2/22/2010 7:26:30 AM)Hallo Maarten,
Jazeker, in het voorbeeldbestand staan de plaatjes en de namen ook op een ander blad.
Comment by: cobus (3/20/2010 9:30:00 AM)moet je altijd met een dropdown menu werken?
kan ik niet gewoon verwijzen naar een cel waar de foto instaat, zoals bij verwijzing in een formule?
Comment by: Jan Karel Pieterse (3/20/2010 11:49:33 AM)Hoi Cobus,
In wezen is dat wat er hier gebeurt, alleen bereken ik hier de verwijzing. Je zou de bereiknaam "Picture" direct naar een cel met de foto kunnen laten verwijzen.
Comment by: Frank (5/6/2010 10:06:12 AM)De enige website die deze tool eigenlijk goed bespreekt! Of eigenlijk zo en zo bespreekt!
Heb het nu al 3 x gebruikt (2 x cateringformulier, 1 x gebouwdossier) en elke keer is iedereen weer verbijsterd dat je zo maar een plaatje tevoorschijn kan krijgen die ook nog correspondeert met datgene wat ze zoeken!
Scoor ik toch ff..... : D
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: www.eileenslounge.com.