Уважаемые знатоки, что вам сказать... разобрался в проблеме.
По этой ссылке ничего не нашёл. Я ещё после первого вашего поста гуглил, но толгового ничего нет.
Вот это меня и смутило. Как такое может быть, что у одних людей макрос работает, а у меня не работает?!
Я начал гуглить по типу ошибки Run-Time Error 1004 - Microsoft Excel не удаётся вставить данные. И нашёл решение на вашем же сайте спустя 4 часа поиска и чтения откровенно 90% бреда и пустого трёпа. Вот
Как я понял из разных источников, в том числе из этого обсуждения по ссылке, ошибка возникает тогда, когда макрос скопировал инфо в буфер обмена, но ещё не успел преобразовать инфо в картинку, а уже пытается вставить картинку... и выдаёт ошибку.
Решение такое: сделать фиктивную задержку между вставкой и копированием. Application.Wait Time:=Now + TimeValue("0:00:01")
Вот решение
Почему у других макрос работал, а у меня нет? Предполагаю, что у других макрос попросту успевал в буфере обмена преобразовать данные таблицы -> в картинку
Всем спасибо за помощь в решении проблемы. Пообщался с разными знатоками на работе, раньше такого никто никогда не замечал. Вероятно, приколы последних обновлений Excel ?!
| Цитата |
|---|
| JayBhagavan написал: Бывает. Ссылка . |
| Цитата |
|---|
| Юрий М написал: Запускаю макрос в файле - срабатывает нормально. |
| Цитата |
|---|
| Казанский написал: Аналогично. |
Я начал гуглить по типу ошибки Run-Time Error 1004 - Microsoft Excel не удаётся вставить данные. И нашёл решение на вашем же сайте спустя 4 часа поиска и чтения откровенно 90% бреда и пустого трёпа. Вот
Как я понял из разных источников, в том числе из этого обсуждения по ссылке, ошибка возникает тогда, когда макрос скопировал инфо в буфер обмена, но ещё не успел преобразовать инфо в картинку, а уже пытается вставить картинку... и выдаёт ошибку.
Решение такое: сделать фиктивную задержку между вставкой и копированием. Application.Wait Time:=Now + TimeValue("0:00:01")
Вот решение
| Код |
|---|
Range("A1:B5").Select
Selection.Copy
Range("H3").Select
Application.Wait Time:=Now + TimeValue("0:00:01")
ActiveSheet.Pictures.Paste
End Sub
|
Почему у других макрос работал, а у меня нет? Предполагаю, что у других макрос попросту успевал в буфере обмена преобразовать данные таблицы -> в картинку
Всем спасибо за помощь в решении проблемы. Пообщался с разными знатоками на работе, раньше такого никто никогда не замечал. Вероятно, приколы последних обновлений Excel ?!