У меня есть макрос, связанный с командной кнопкой, которая позволяет пользователям вставлять изображение.
Sub Insert_Image()
ActiveSheet.Unprotect
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.ButtonName = "Submit"
.Title = "Select an image file"
.Filters.Clear
.Filters.Add "JPG", "*.JPG"
.Filters.Add "JPEG File Interchange Format", "*.JPEG"
.Filters.Add "Graphics Interchange Format", "*.GIF"
.Filters.Add "Portable Network Graphics", "*.PNG"
.Filters.Add "Tag Image File Format", "*.TIFF"
.Filters.Add "All Pictures", "*.*"
If .Show = -1 Then
Dim img As Object
Set img = ActiveSheet.Pictures.Insert(.SelectedItems(1))
'Position Image
img.Left = 598
img.Top = 70
mbResult = MsgBox("Did you select the correct image?", vbYesNo)
Select Case mbResult
Case vbNo:
img.Delete
End Select
End If
End With
ThisWorkbook.Activate
ActiveSheet.Protect
End Sub
---------------------------------------------
Sub Delete_Image()
img.Delete
End Sub
Я пытаюсь создать отдельную командную кнопку, которая позволит пользователям удалять изображение, если они вставят неправильное.
Когда я изменяю Dim img As Object
на Public img As Object
Я получаю недопустимый атрибут в Sub или Function Error, и если я оставлю его, поскольку Dim
img.delete
пусто.
Я не уверен, как еще распределить переменные по нескольким подпрограммам.
Заранее спасибо.