Доброго времени суток уважаемые форумчане, В своей работе постоянно копирую результат подсчета формулы с этой ячейки в другую в виде значения, делаю это с помощью специальной вставки и копирую значение. Записал макрорекордером, но безрезультатно. Помогите пожалуйста, подправить код макроса, так чтобы копировалось только значение ячейки. Спасибо. [vba]
Код
Sub Copy() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba]
Доброго времени суток уважаемые форумчане, В своей работе постоянно копирую результат подсчета формулы с этой ячейки в другую в виде значения, делаю это с помощью специальной вставки и копирую значение. Записал макрорекордером, но безрезультатно. Помогите пожалуйста, подправить код макроса, так чтобы копировалось только значение ячейки. Спасибо. [vba]
Код
Sub Copy() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
[/vba] Хотя нет. Это только замена вашего кода. Для копирования в другое место нужно это другое место указать. При вставке в другую ячейку макрорекордер такого написать не мог.
[vba]
Код
Selection.Value = Selection.Value
[/vba] Хотя нет. Это только замена вашего кода. Для копирования в другое место нужно это другое место указать. При вставке в другую ячейку макрорекордер такого написать не мог.RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Понедельник, 06.10.2014, 21:13
А я уже давным-давно (чуть ли ещё не в Офисе-97) назначил у себя на горячие клавиши Ctrl+Q макрос специальной вставки значений. В Personal.xls прописал:
[vba]
Код
Sub SPPASTE_VAL() ' "Специальная вставка: ВСТАВИТЬ ТОЛЬКО ТЕКСТ" ' Сочетания клавиш ^q, ^Q, ^й, ^Й для вызова этой процедуры назначаются в процедуре Auto_Open On Error Resume Next Selection.PasteSpecial Paste:=xlValues If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False If Err Then MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description End Sub Sub Auto_Open() Application.OnKey "^q", "SPPASTE_VAL" ' Ctrl+Q - макрос "SPPASTE_VAL" - Вставить значения End Sub
[/vba]
Аналогично на те же клавиши сделал и в Ворде. Очень удобно.
А я уже давным-давно (чуть ли ещё не в Офисе-97) назначил у себя на горячие клавиши Ctrl+Q макрос специальной вставки значений. В Personal.xls прописал:
[vba]
Код
Sub SPPASTE_VAL() ' "Специальная вставка: ВСТАВИТЬ ТОЛЬКО ТЕКСТ" ' Сочетания клавиш ^q, ^Q, ^й, ^Й для вызова этой процедуры назначаются в процедуре Auto_Open On Error Resume Next Selection.PasteSpecial Paste:=xlValues If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False If Err Then MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description End Sub Sub Auto_Open() Application.OnKey "^q", "SPPASTE_VAL" ' Ctrl+Q - макрос "SPPASTE_VAL" - Вставить значения End Sub
[/vba]
Аналогично на те же клавиши сделал и в Ворде. Очень удобно.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Понедельник, 06.10.2014, 22:46