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

Afbeelding vanuit werkblad naar userform

Status
Niet open voor verdere reacties.

hendriks245

Gebruiker
Lid geworden
23 mrt 2007
Berichten
50
Ik zit met de volgende vraag (ik heb op het forum gezocht, maar zonder resultaat):

Ter verduidelijking heb ik een voorbeeldje bijgevoegd.

Ik heb een lijst gemaakt met invoermogelijkheden (validatie), nu zou ik graag willen dat wanneer ik een keuze maak uit de lijst bijvoorbeel kantoor, dat er een popup in beeld komt met daarin info en een plaatje, zoals in het voorbeeld weergegeven. door op bijvoorbeeld OK te klikken verdwijnt de popup weer.

Is dit mogelijk?
 

Bijlagen

Laatst bewerkt:
Beste hendriks245 ;)

Ik kan je wel een voorbeeldje laten zien van een popup met afbeelding.

Zie bestandje;

Groetjes Danny. :thumb:
 

Bijlagen

Dit voorbeeld had ik inderdaad al gevonden op het forum, alleen dit is helaas niet helemaal wat ik bedoel. Ik wil het eigenlijk meer als een soort invoerbericht, alleen daar kan je geen plaatje invoegen (voor zover ik weet).
 
Hendriks245,

Ja dat is zeker mogelijk, dat kun je oplossen met VBA in combinatie met een userform.

Grtz
 
Hendriks245,

Bijgevoegd een voorbeeld van hoe het zou kunnen worden.
Op het tabblad staat in rood een uitleg.
Zijn er nog vragen dan komen die wel.
Ik hoop dat dit is wat je bedoelt.

Grtz
 

Bijlagen

TOP! Dit is inderdaag wat ik bedoel.

Toch nog ff een vraag: stel nou dat niet alleen in cel B3, maar ook in C3 dezelfde validatie staat en ik wil dezelfde marco laten werken. Ik heb net al ontdekt dat dat niet een kwestie van de marco kopieren is (ik ben nog niet zo goed met macro's) en "B3" in "C3" veranderen.
Kan ik trouwens het plaatje ook gewoon in het excelbestand zelf laten staan en daar naar toe verwijzen in de macro?

Heel erg bedankt voor je hulp!

Gr
 
Laatst bewerkt:
Hendriks245,

Alles is mogelijk maar waarom zou je het excel document onnodig gaan belasten met embedded plaatjes.
Hoe meer plaatjes je importeerd hoe zwaarder je document wordt en de plaatjes kun je op deze manier eenvoudig in een submap plaatsen en zo het overzicht bewaken.

Wat betreft cel C3.
Omdat te kunnen doen heb ik de macro iets moeten aanpassen (zie bijgevoegd progje) en ik zal je vertellen waar het zich bevindt.

ALT+F11 daarna CTRL+R en dan dubbelklik op Blad1 (Blad1)
Daar staat een stukje macro welke vertelt dat wanneer de gekozen cel niet in kolom 2 of 3 zit en de regel anders is dan 3 stop ermee.
voldoet de voorwaarde open dan Userform1

Userform1, klik voor formulieren op de + en je ziet de Userform1 verschijnen.
Ga op Userform1 staan, rechtermuisknop en selecteer dan:
- Programmacode weergeven voor de macro
- Object weergeven om de user interface te zien.

Grtz
 

Bijlagen

Ik wil toch nog even terug komen op je opmerking over de afbeeldingen in het model.je hebt helemaal gelijk dat het model dan zwaarder wordt, maar het model is al zo zwaar (veel macro's/tabbladen van kolom A t/m IS) dat die plaatjes er ook nog wel bij kunnen!
Als ik wil dat het plaatje tevoorschijn wordt gehaald uit het document zelf zal ik waarschijnlijk iets moeten aanpassen aan het dikgedrukte deel in de marco?

Private Sub UserForm_Initialize()
Details = ActiveCell.Value
With Range("DV24:EP24")
Set c = .Find(Details, LookIn:=xlValues)
If Not c Is Nothing Then
Kol = c.Column
End If
End With
On Error Resume Next
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & Details & ".jpg")
Me.Repaint
Kenmerk.Caption = Cells(27, Kol)
Bouw.Caption = "€ " & Cells(28, Kol)
GO.Caption = Cells(30, Kol)
VVO.Caption = Cells(31, Kol)
GEVELBVO.Caption = Cells(32, Kol)
GEVEL.Caption = Cells(33, Kol) * 100 & " %"
INHOUD.Caption = Cells(34, Kol)
STAART.Caption = Cells(35, Kol) * 100 & " %"
End Sub

Waarschijnlijk moet ik de afbeelding plakken in het model zelf en het een naam geven? Veel verder kom ik niet!

Gr
 
Alternatief

Code:
Private Sub UserForm_Initialize()
  on error resume next
  With Range("DV24:EP24").Find(ActiveCell.Value, xlValues)
    If err.number>0 then
      Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & ActiveCell.Value & ".jpg")
      for j=27 to 35
        Me("titel" & j).Caption = Cells(27, .column)
      next
    End If
    Err.clear
  End With
End Sub
Hernoem de labels
Bouw,GO,VVO,GEVELBVO,GEVEL,INHOUD,STAART in
titel27, titel28, etc. overeenkomend met de cel rij waarin de gegevsn hiervan staan.
 
Deze marco werkt inderdaad ook, ik krijg alleen het hernoemen van die labels niet voor elkaar. Maar met deze marcro moet ik nog steeds de afbeeldingen in dezelfde map (en dus niet in het excel-bestand zelf) opslaan, of doe ik weer iets fout?

Gr
 
Kan iemand mij vertellen hoe ik de macro moet aanpassen, zodat ik de afbeeldingen in het exceldocument zelf kan zetten en weergegeven worden bij het selecteren van een bepaalde naam? wanneer de afbeeldingen apart in dezelfde map staan, kan je namelijk niet allen het excelbestand ergens anders opslaan zonder de afbeeldingen ook mee te kopieren.

Alvast bedankt voor de hulp!
 
Hendriks,

Of dat mogelijk is, is maar de vraag gezien de uitleg in de helpfile:

object.Picture =LoadPicture(padnaam)

De syntaxis van de eigenschap Picture bevat de volgende onderdelen:

Onderdeel Beschrijving
object Vereist. Een geldig object.
padnaam Vereist. Het volledige pad naar een figuurbestand.

Grtz.
 
Bedankt voor de tip! Toch is dit niet helemaal wat ik zoek, ik wil namelijk dat de marco de afbeelding in de 'popup' weergeeft en niet in een cel.

Ik zal dus denk ik in plaats van de padnaam iets anders moet typen in de marco:

Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & Details & ".jpg")

Zoals je misschien aan de marco kan zien, heb ik verschillende cellen met een dropdown. Wanneer ik in één van de cellen een keuze maak verschijnt er een popup met de afbeelding en tekst.
Als ik nu in een van de cellen "kantoor" kies, moet in de popup dus de afbeelding van het kantoor komen, die ik dus als afbeelding in het excelmodel zelf wil hebben in plaats van in een mapje bij het excel bestand.
Ik neem dus aan dat ik de afbeelding "kantoor" zal moeten noemen. En in de marco iets moeten typen van "als ActiveCell is "kantoor" dan afbeelding kantoor laden" allen dan op een manier, die ik niet kan uitvogelen!

Gr
 
Je kan de afbeeldingen importeren in een sheet en dan voor elke afbeelding een ImageControl maken en ze allemaal verbergen bij het initialiseren van het formulier. Wil je dan een bepaalde afbeelding tonen zet je de Image Property Visible van deze afbeelding op True.

http://spreadsheetpage.com/index.php/tip/C29

Een andere methode is van Stephen Bullen. Zoek het bestand PastePicture.Zip in onderstaande link

http://www.oaltd.co.uk/Excel/Default.htm

Mvg

Rudi
 
Laatst bewerkt:
Heel erg bedankt voor de moeite die je voor me doet, maar deze marco's gaan mij helaas toch allemaal iets te ver! En daar bedoel ik mee dat ik daar echt niet uit ga komen!

Ik denk dat er voor mij op dit moment even niks anders op zit dan de afbeeldingen ergens anders op te slaan ipv in het model zelf.

Thxs.
 
Hendriks245, je mag de moed zo snel niet verliezen. Tijd brengt raad (en oplossingen). In bijlage een ruwbouwversie van het gevraagde. Kijk of je hier mee kan leven

Mvg

Rudi
 

Bijlagen

Briljant! Dit is exact wat ik bedoel! Ik ga je niet vragen hoe die macro van Stephen Bullen in elkaar zit, als ik daar aan toe ben, ga ik wel een keertje puzzelen:D

Heel erg bedankt voor je bijdrage!

Gr
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan