2017-02-27 105 views
2

我有一個啓用了宏的工作簿(受保護的工作表)。 允許用戶將輸入提供給解鎖的單元格。VBA在複製粘貼過程中保持格式

這裏的問題是,當用戶複製粘貼其他應用程序的數據時,它會覆蓋現有工作表上使用的格式,這會造成麻煩。

即使用戶複製/粘貼,是否可以保持格式?

+1

(重)解決方法,您可以使用'Worksheet_Change'事件獲取粘貼的值,然後使用UNDO取回您的格式並將該值放回單元格中。 – R3uK

+2

互聯網上有許多例子,例如http://superuser.com/questions/392507/prevent-excel-2010-user-from-pasting-formatting-into-cell或https://www.mrexcel.com/forum /excel-questions/575750-restrict-paste-paste-values-using-visual-basic-applications.html –

+0

另一種方法是將工作表的副本保留爲隱藏狀態,其中包含所有的格式,而不包含任何數據。然後'Worksheet_change'事件將格式從隱藏的「緩衝區」複製回已更改的單元格。 – CLR

回答

0

1)創建用於在您的片和(如果可能)名稱範圍中使用的各種格式,其被「風格」

該代碼將檢查,如果改變了細胞的風格的範圍「內」自定義樣式。如果所有更改的單元格都在樣式範圍內 - 請應用樣式。如果保持範圍命名與樣式命名一致,則可以使用循環來完成。