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

Illustratie plaatsen onder voorwaarde

Status
Niet open voor verdere reacties.

robdgr

Verenigingslid
Lid geworden
8 sep 2001
Berichten
4.430
Office versie
Microsoft 365
Kan ik een illustratie laten verschijnen als cel D2 > 0?

Groet,
 
Wigi,

Ik krijg die oplossing niet voor elkaar en heb het gezocht in:

Application.Goto Reference:="R100C1"
ActiveSheet.Shapes("Picture 4").Select
Selection.Copy
Application.Goto Reference:="R25C1"
ActiveSheet.Paste
Selection.OnAction = "schoon"
Application.Goto Reference:="R2C4"
End Sub

Het resultaat is dat ik plaatje over plaatje plak, dus dat is ook geen oplossing. Twee regels ervoor die het oude weghaalt, werkt niet want dan wordt gezocht naar een bepaalde naam.

Het liefst had ik dat deze macro werkt als d2 is ingevuld en dat de macro "schoon" ook het plaatje weghaalt. Voor de volledigheid heb ik het bewuste bestand bijgevoegd.

Is dit te doen?

Groet,
 

Bijlagen

Laatst bewerkt:
Hey

Gebruik

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("D2") Then
        ActiveSheet.Shapes("Picture 10").Visible = (Target.Value > 0)
    End If
End Sub

en zet dit achter de VBA code voor blad "Geboortedatum".

Nog een bijkomende tip: kijk eens bij Data > Valideren > Instellingen > Datum voor cel D2.

Alles opgelost nu?

Wigi
 
Goedemorgen Wigi,

Helaas niet. De regel "ActiveSheet.Shapes("Picture 10").Visible = (Target.Value > 0)" geeft een foutmelding. Eigenlijk dezelfde die ik eerder ondervond: Picture 10 wordt niet gevonden.

Uiteraard ken ik valideren, maar wat beoog je daarmee voor D2? Ik zie dat even niet.

Groet,
 
rdg1314 zei:
Goedemorgen Wigi,

Helaas niet. De regel "ActiveSheet.Shapes("Picture 10").Visible = (Target.Value > 0)" geeft een foutmelding. Eigenlijk dezelfde die ik eerder ondervond: Picture 10 wordt niet gevonden.

Uiteraard ken ik valideren, maar wat beoog je daarmee voor D2? Ik zie dat even niet.

Groet,

Verander in mijn code "Picture 10" door "Afbeelding 10" en dan werkt het. Het bewuste plaatje heet toch Afbeelding 10, niet?

Valideren: dan laat je bv. enkel datums toe in D2. Nu kan ik bv. -1 intypen.

Wigi
 
LucB en Wigi,

Het is uiteindelijk gelukt.

Het plaatje wordt gehaald met deze programmacode:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" Then
Application.Goto Reference:="R100C1"
ActiveSheet.Shapes("Rob").Select
Selection.Copy
Application.Goto Reference:="R25C1"
ActiveSheet.Paste
Selection.OnAction = "schoon"
Application.Goto Reference:="R2C4"
End If
End Sub

Het wordt weggehaald met deze macro, die het hele formulier schoonmaakt:
Range("D2,d5,d8,d11,b14,d14").Select
Range("d11").Activate
Selection.ClearContents
Application.Goto Reference:="R25C1"
ActiveSheet.Shapes("Rob").Select
Selection.Cut
ActiveSheet.Shapes("Rob").Select
Selection.Cut
Application.Goto Reference:="R100C1"
ActiveSheet.Paste
Application.Goto Reference:="R2C4"
End Sub

Dank beiden. Ik heb de nu werkende versie bijgevoegd. Ik wilde de vraag als opgelost aanmerken, maar krijg het slotje op de opening niet te zien.

Groet,
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan