Код VBA, позволяющий вставлять только специальные в шаблоне Excel - PullRequest
2 голосов
/ 08 марта 2011

HI

Я использую шаблон Excel со столбцами, имеющими разные формулы и формат, я не хочу заменять эти форматы при вставке чего-либо из другого листа Excel.

Кто-нибудь может мне предоставить, просто код VBA, который я вставлю в редактор VBA, и все операции вставки в моем шаблоне Excel будут PASTE SPECIAL?

1 Ответ

3 голосов
/ 08 марта 2011

Вы должны попытаться использовать События в своей рабочей книге. Извините, если мои переводы не соответствуют вашему Excel, но у меня есть польская версия MS Office. Однако, если вы нажмете CTRL + F11 и откроете редактор VB на панели проекта, у вас должно появиться что-то вроде «Объекты Microsoft Excel» и объекты, соответствующие электронным таблицам и рабочей книге. Теперь в ThisWorkbook поместите код

Option Explicit

Private Sub WorkBook_Open()
    MsgBox "this happens when workbook is opened"
    Application.OnKey "^v","my_function"
End Sub

Этот код переопределяет CTRL + V и запускает my_function () при нажатии этой комбинации клавиш. Учитывая вышеописанную функцию, вы можете вставить новый модуль и добавить туда подпрограмму, например,

Option Explicit

Sub my_function()
    MsgBox "you have pressed ctrl+v"
    Selection.PasteSpecial Paste:=xlPasteForumlas, Operation:=xlNone, _
              SkipBlanks:=False, Transpose:=False
End Sub

Для получения дополнительной информации о событиях см., Например. http://www.cpearson.com/excel/Events.aspx

Если приведенный выше код не работает, проверьте значение Application.EnableEvents и, если необходимо, измените его значение в ближайшем окне.

Более того, в Sheet1 вы можете попытаться что-то сделать с событием change. Используя это событие, вы можете помешать Excel изменить стили, хотя первое решение должно быть более сложным для реализации. Ниже приведен код события изменения.

Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
     MsgBox "the value was changed"
End Sub

Надеюсь, это помогло.

Некоторые ссылки на события в Excel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...