Страницы: 1
RSS
VBA удаление значения из скопированной ячейки после вставки в дуругю
 
Имеется документ, условно в диапазоне A1:A8 есть какие-либо значения
Умею макросом скопировать через Ctrl+c и вставить как значение в другой диапазон, остаются так называемые бегающие муравью вокруг интервала, с которого скопировал данные, есть ли способ после того, как я вставил значения в другой интервал или после копирования удалять данные из интервала откуда скопированы. Через вырезку не годится, т.к. документ форматирован и не хотелось бы рушить стилистику, заливку, границы и т.п.

вставляю через код:
Sub Макрос2()
'
' Макрос2 Макрос
'
' Сочетание клавиш: Ctrl+в
'
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
End Sub
 
WSugar Наверно так хотели
Код
Sub Макрос2()
With Range("A1:A8")
.Copy
Cells(2).PasteSpecial xlPasteValues
.ClearContents
End With
End Sub
 
Я так понимаю через range завязывается определенный интервал
Но возможно ли не фиксировать это?
А из произвольной ячейки скопировал и вставил куда нужно
Смысл в этом
Документ огромных размеров, формат которого нарушать нельзя, а бывают случаи когда скопировал, вставил и удалить забыл, либо перелистывать тысячи строк для вставки и обратно чтобы удалить
 
Вариант.
В модуль ЭтаКнига:
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^c"
    Application.OnKey "^v"
End Sub

Private Sub Workbook_Open()
    Application.OnKey "^c", "SaveValue"
    Application.OnKey "^v", "GetValue"
End Sub

В обычный модуль:
Код
Sub SaveValue()
    SaveSetting "Clipboard", "clipBoardVal", "actualvalue", ActiveCell.Value
    ActiveCell.ClearContents
End Sub
Sub GetValue()
    ActiveCell.Value = GetSetting("Clipboard", "clipBoardVal", "actualvalue", "")
End Sub
Изменено: DANIKOLA - 09.02.2024 20:29:50
 
Для человека, который пытается разобраться что к чему это называется волшебством, не иначе, но это именно то что хотелось, спасибо большое  
 
DANIKOLA, с чем может быть связано:
на домашнем компьютере все работает как надо
на рабочем выделяешь диапазон, но при нажатии ctrl+c копируется и очищается только ячейка с которой было начато выделение диапазона
 
Возможно с версией эксель связано, на работе 2013
Страницы: 1
Наверх