簡體   English   中英

Excel(VBA):禁用除粗體字體外的單元格格式

[英]Excel (VBA): Disabling cell formatting except bold font

我想禁用更改單元格的格式,除了將字體加粗。 有什么辦法可以實現?

顯然, .Protect AllowFormattingCells:=True啟用所有可能的格式更改。

我以為也許在Ribbon上創建自定義按鈕可以解決此問題(即取消保護工作表,使內容變粗並再次保護),但是我想知道是否存在一些更方便的方法來解決此問題。

我在http://www.excelforum.com/excel-programming-vba-macros/676299-use-vba-to-lock-all-cell-formatting-except-background-color.html中遇到了類似的問題-但它仍然沒有解決。

這不是一個完美的解決方案,但可能的解決方法。 在ThisWorkbook模塊中,粘貼以下事件:

Private Sub Workbook_Activate()
Application.OnKey "^b", "MakeBold"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^b"
End Sub

然后,在常規模塊中:

Sub MakeBold()
ActiveSheet.Unprotect
On Error Resume Next
Selection.Font.Bold = Not (Selection.Font.Bold)
On Error GoTo 0
ActiveSheet.Protect
End Sub

限制是它僅適用於鍵盤快捷鍵,不適用於功能區按鈕。 我想您可以創建一個自定義按鈕,然后將其“偽裝”為粗體按鈕,但這仍然是一個不完善的解決方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM