Использование Ctrl + V для соответствия формату назначения - PullRequest
0 голосов
/ 09 января 2020

Используя следующий Макрос в моей книге и назначил Ctrl V в качестве ярлыка для запуска Макроса. Если я дважды щелкну в ячейке назначения и Ctrl + V, она будет работать нормально. Если я просто щелкаю один раз, чтобы выбрать ячейку, я получаю ошибку во время выполнения «Ошибка метода PasteSpecial класса Range». Есть ли способ обойти это?

Sub PasteWithDestinationFormatting()


 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End Sub

Ответы [ 2 ]

1 голос
/ 09 января 2020

Поскольку вы назначаете макрос для отмены сочетания клавиш для вставки, попробуйте Alt , E , S , V, Введите . Последовательно нажимайте эти клавиши (не удерживайте Alt при наборе остальных.)

Это вставит значения, сохраняющие форматирование ячейки назначения.

Печатание Alt , E , S вызывает диалоговое окно Paste Special.

paste special

V просто выбирает параметр Values, а Enter применяет выбор. Если вы копируете формулы или смесь значений и формул, F для Formulas будет вставлять их, сохраняя при этом форматирование назначения.

0 голосов
/ 09 января 2020

Если вы хотите, чтобы произошла ошибка, создайте окно сообщения, сообщающее пользователю, что ему нужно дважды щелкнуть ячейку, вот код для этого:

On Error GoTo Message

' Do Stuff

Message:
Msgbox "Please double-click cell then hit CTRL+V to run macro"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...