Sub SwapPic()
Dim PicFileName As String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
PicFileName = .SelectedItems(1)
End With
With ActiveSheet.Shapes(Application.Caller)
.TopLeftCell.Select
.Delete
End With
With ActiveSheet.Pictures.Insert(PicFileName)
.Name = "UserPic"
.OnAction = "SwapPic"
End With
End Sub
Sub SwapPic()
Dim PicFileName As String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
On Error Resume Next
PicFileName = .SelectedItems(1)
On Error GoTo 0
End With
If PicFileName = "" Then Exit Sub
With ActiveSheet.Shapes(Application.Caller)
.TopLeftCell.Select
.Delete
End With
With ActiveSheet.Pictures.Insert(PicFileName)
.Name = "UserPic"
.OnAction = "SwapPic"
End With
End Sub