figuur tonen

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Hallo Experts,

Met onderstaande code laat ik een figuur zichtbaar worden in een werkblad.
Het eerste gedeelte van de code werkt wel echter tweede deel niet.
Wie weet hoe dit werkend te krijgen.

Als A1 een A staat laat het de gewenste afbeelding2 zien, echter als in E2 een C staat laat het niet de gewenste afbeelding13 zien.


Onderstaand de code.

Code:
 Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1")) Is Nothing Then
  Exit Sub

 Else
 
 If Range("A1") = "A" Then

        ActiveSheet.Shapes("Afbeelding 2").Visible = False
        ActiveSheet.Shapes("Afbeelding 4").Visible = True
    Else
        ActiveSheet.Shapes("Afbeelding 2").Visible = True
        ActiveSheet.Shapes("Afbeelding 4").Visible = False
 End If
  If Intersect(Target, Range("E2")) Is Nothing Then
  
 Exit Sub
 
  If Range("E2") = "C" Then
        ActiveSheet.Shapes("Afbeelding 13").Visible = False
        ActiveSheet.Shapes("Afbeelding 15").Visible = True
    Else
        ActiveSheet.Shapes("Afbeelding 15").Visible = True
        ActiveSheet.Shapes("Afbeelding 13").Visible = False
 
 

  End If
End If
End If

End Sub
 
Als je activecell niet A1 is dan is deze waar:
If Intersect(Target, Range("A1")) Is Nothing
En wordt de Exit Sub gedaan waardoor de rest van de functie niet wordt uitgevoerd.
Echt leesbaar is het ook niet. Schrijf hem eens zo:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Select Case Target.Address
        Case "$A$1"
            If Range("A1") = "A" Then
                ActiveSheet.Shapes("Afbeelding 2").Visible = False
                ActiveSheet.Shapes("Afbeelding 4").Visible = True
            Else
                ActiveSheet.Shapes("Afbeelding 2").Visible = True
                ActiveSheet.Shapes("Afbeelding 4").Visible = False
            End If

        Case "$E$2"
            If Range("E2") = "C" Then
                ActiveSheet.Shapes("Afbeelding 13").Visible = False
                ActiveSheet.Shapes("Afbeelding 15").Visible = True
            Else
                ActiveSheet.Shapes("Afbeelding 15").Visible = True
                ActiveSheet.Shapes("Afbeelding 13").Visible = False
            End If
    End Select
End Sub
 
Laatst bewerkt:
Hoi Edmoor,


De code werkt nu, ben ik blij mee, thanks !!


Groet,
Jan E
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan