I assume that you have to loop the shapes because more than one might overlap the cell
Try turning off Events
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim shp As Shape
Application.ScreenUpdating = False
Application.EnableEvents = False '------------------------------------
'First iteration of Shapes selection
If Target.Address = "$C$4" Then
Select Case Target.Value
Case "FirstView"
'Delete previously pasted shape in stated range cell location.
For Each shp In Worksheets("Sheet2").Shapes
If Not Application.Intersect(shp.TopLeftCell, Worksheets("Sheet2").Range("A1,H1")) Is Nothing Then shp.Delete
Next shp
'Select shape and assign cell location
Worksheets("Sheet1").Shapes("Shape1").Copy: Worksheets("Sheet2").Paste Destination:=Worksheets("Sheet2").Range("A1")
Worksheets("Sheet1").Shapes("Shape2").Copy: Worksheets("Sheet2").Paste Destination:=Worksheets("Sheet2").Range("H1")
End Select
End If
Application.EnableEvents = True ' ---------------------------------------
Application.ScreenUpdating = True
End Sub