Страницы: 1
RSS
Скопировать ячейку с формулой и вставить её, но уже без формулы
 
Чтобы отсечь лишнее, выделю главную проблему, где идёт сбой.

Задача – скопировать ячейку с формулой и вставить её в некоторое соседнее поле, но уже без формулы, а с результатом вычисления.
Если делать вручную (без макроса), то проблем не возникает, т.к. после копирования вставляем не командой «Вставить», а через буфер обмена. Всё прекрасно, копируется не формула, а результат вычисления.

Включаем запись макроса и проделываем ту же самую процедуру, вот код:
Код
Sub Макрос()
    Range("E30").Select
    Selection.Copy
    Range("H30").Select
    Application.CutCopyMode = False
    ActiveSheet.Paste
End Sub

Однако при выполнении макроса выскакивает ошибка:
Код
Run-time error ‘1004’
Метод  Paste из класса Worksheet завершен неверно
Что я делаю не так? Можно как-то решить исходную задачу при помощи макроса?
 
Проблема с макросом при копировании - плохое название: сюда можно 1000 вопросов про проблемы. Название должно отражать СУТЬ проблемы. Предложите новое - модераторы поменяют.
 
Вот так будет работать.
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
    Range("E30").Select
    Selection.Copy
    Range("H30").Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End Sub
Изменено: agregator - 24.06.2016 18:56:19
Excel всемогущий.
 
Цитата
presentt написал:
Можно как-то решить исходную задачу при помощи макроса?
Код
Sub так()

Dim a
a = Cells(30, 5).Value
Cells(30, 8) = a

End Sub
Код
Sub эдак()

    Range("E30").Select
    Selection.Copy
    Range("H30").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
 
Цитата
presentt написал:
т.к. после копирования вставляем не командой «Вставить», а через буфер обмена.
Вставляйте не командой Вставить, и не через Буфер обмена, а через Специальная вставка - Вставить - Значения. И запишите все это макрорекордером
Согласие есть продукт при полном непротивлении сторон
 
agregator, Jungl, Sanja, куда торопимся?
 
agregator, первое Ваше сообщение скрыл, второе удалил. Будете продолжать?
 
Тогда, такой вариант:
"Как скопировать ячейку с формулой и вставить её, но уже без формулы, при помощи макроса".
 
Название поменял. Помощь отображается.
 
Цитата
Юрий М написал:
agregator , первое Ваше сообщение скрыл, второе удалил. Будете продолжать?
Прочитал
Цитата
Юрий М написал:
agregator ,  Jungl ,  Sanja , куда торопимся?
и всё понял. Продолжать не буду. :)
Изменено: agregator - 24.06.2016 18:50:27
Excel всемогущий.
 
Вариант: не копировать, а присваивать
Код
Range("H30").value =Range("E30").value
 
Цитата
Sanja написал:
Вставляйте не командой Вставить, и не через Буфер обмена, а через Специальная вставка - Вставить - Значения. И запишите все это макрорекордером
Спасибо всем, а особенно за это общее решение для макрорекордера. На самом деле там макрос большой, а это тот кусочек, который сбоил.
Страницы: 1
Наверх