Я создал небольшую программу, используя следующий код для переноса изображения с одного листа на другой в той же книге.Скопируйте и вставьте изображение с одного листа на другой
Sub transferPicturesPAPER_EXAM(pictureNo As Long, p As Integer, srcSht As String, dstSht As String, insertWhere As String)
' Transfers the selected Picture to the exam sheet.
''zxx
If pictureNo = 0 Then Exit Sub
Sheets(srcSht).Select
ActiveSheet.Unprotect
ActiveSheet.pictures("Picture " & pictureNo).Select
'ActiveSheet.Shapes.Range(Array("Picture " & pictureNo)).Select
Selection.Copy
Sheets(dstSht).Select
Range(insertWhere).Select
ActiveSheet.Paste
'== rename to correspond to the problem number
Selection.Name = "Picture " & p
End Sub
Это прекрасно работает. Тем не менее, когда я устанавливаю процедуру в большей книге, я получаю следующее сообщение об ошибке в строке: Activesheet.paste
:
метод Paste класса Worksheet не удался
код работал штраф для нескольких программных казней.
Любая помощь была бы принята с благодарностью.
Пробовал все методы и каждый из них выдавал ошибку при вставке - что-то вроде метода PasteSpecial класса Range не удалось –
Проверьте, действительно ли 'insertWhere'. Может возникнуть ошибка ввода. Если не попробовать поставить 'Application.Wait (Now + TimeValue (" 00:00:03 "))' перед линией вставки. Найти что-то подобное здесь [link] (https://social.msdn.microsoft.com/Forums/office/en-US/4855e0ea-6dfd-48a5-8d9e-82a384781f98/vba-pastespecial-error), но я не знайте, где есть * Do Events *. –