HI粘貼特殊,VBA代碼,只允許在Excel模板
我利用具有不同的公式和格式列的Excel模板,我不想被替換這些格式時,我粘貼從另一個東西Excel表格。
任何人都可以提供我,只需要一個VBA代碼,我將粘貼在VBA編輯器中,並且在我的Excel模板中的所有粘貼操作都將是粘貼特殊?
HI粘貼特殊,VBA代碼,只允許在Excel模板
我利用具有不同的公式和格式列的Excel模板,我不想被替換這些格式時,我粘貼從另一個東西Excel表格。
任何人都可以提供我,只需要一個VBA代碼,我將粘貼在VBA編輯器中,並且在我的Excel模板中的所有粘貼操作都將是粘貼特殊?
您應該嘗試在工作簿中使用事件。對不起,如果我的翻譯不符合你的Excel,但我有波蘭版的MS Office。但是,如果按下CTRL + F11並在項目窗格中打開VB編輯器,則應該有「Microsoft Excel對象」之類的東西,並且存在與電子表格和工作簿相對應的對象。現在,在的ThisWorkbook地方該代碼將覆蓋CTRL + V,然後運行創建my_function()當按下這個組合鍵碼
Option Explicit
Private Sub WorkBook_Open()
MsgBox "this happens when workbook is opened"
Application.OnKey "^v","my_function"
End Sub
。鑑於上述功能,您現在可以插入新模塊並在其中添加一個子模塊,例如
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您可能會嘗試使用更改事件做些事情。使用這個事件你可能會阻止excel改變樣式,雖然第一個解決方案應該更加實施。以下是更改事件的代碼。
Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
MsgBox "the value was changed"
End Sub
希望它有幫助。
一些在Excel
上的事件鏈接其實我有這個代碼,正在尋找另一FR way..but感謝名單了很多反正!接受的答案 – 2011-03-15 04:47:19
謝謝你接受答案,但你爲什麼要尋找另一種方式? – 2011-03-15 06:55:54
當我們在工作簿中使用VBA宏時,它總是詢問用戶是否要啓用或禁用宏?我的客戶堅持不使用宏,因爲安全問題..但最後想出了另一種方法,在運行時添加VBA代碼並動態刪除代碼。這有助於我繞開啓用宏彈出和客戶端將開心...... :-) – 2011-03-17 06:40:56