Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Home > Nederlandse site > Artikelen > Show Picture
This page in English

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.


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

Het plaatje dynamisch maken

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

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.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

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