Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Dim
ws
As
Worksheet
Dim
shp
As
Shape
Dim
objType
As
Integer
If
Not
Intersect(Target,
Me
.Columns(
"D"
))
Is
Nothing
Then
If
IsNumeric(Target.Value)
Then
objType = Target.Value
For
Each
shp
In
Me
.Shapes
If
Not
Intersect(shp.TopLeftCell, Target)
Is
Nothing
Then
shp.Delete
End
If
Next
shp
If
objType >= 1
And
objType <= 50
Then
Select
Case
objType
Case
1
Set
shp =
Me
.Shapes.AddShape(msoShapeRectangle, Target.Left, Target.Top, 50, 20)
Case
2
Set
shp =
Me
.Shapes.AddShape(msoShapeOval, Target.Left, Target.Top, 50, 50)
Case
3
Set
shp =
Me
.Shapes.AddShape(msoShapeRightArrow, Target.Left, Target.Top, 50, 20)
Case
Else
MsgBox
"Formtyp ist nicht definiert."
End
Select
Else
MsgBox
"Bitte eine Zahl zwischen 1 und 50 eingeben."
End
If
End
If
End
If
End
Sub