我有一個包含一列數字的作業表。該列使用背景顏色、數字格式等進行格式化。該列已解鎖。我通過右鍵單擊選項卡并選擇保護來手動保護作業表。在“保護作業表”對話框中,未選中“格式化單元格”。我解釋為用戶不應該能夠格式化單元格。然而,當用戶粘貼到列中時,格式會與值一起粘貼。
如果我使用 VBA 保護作業表,
sh.Protect UserInterfaceOnly:=True
我會得到相同的結果:粘貼格式。我沒有指定 AllowFormattingCells:=False 因為默認值為 False。
我看到一些帖子表明可以通過從陰影區域復制和粘貼格式來恢復格式。我在開始保護作業表之前使用過這個解決方案,但發現它過于復雜。我曾希望這是保護能夠處理的事情。如果有辦法處理它,我想在 VBA 中進行。
uj5u.com熱心網友回復:
沒有內置保護選項可用于實作您想要的結果。
在這種情況下唯一有效的是您提到的笨拙的解決方法,即使用 Worksheet_Change 事件確保在修改單元格后格式正確。
由于粘貼內容的方式有很多種,即通過各種選單、功能區命令、鍵盤快捷鍵等,任何試圖攔截粘貼的 VBA 解決方案都會變得非常復雜,比將格式恢復到其格式的更改事件復雜得多。原始狀態。
另一種選擇可能是用戶教育和培訓(因此他們知道只粘貼值),盡管用戶行為可能是整個場景中最難改變的元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/337314.html
上一篇:創建DLL并從Excel中使用它
