单击Calculate
按钮(Active X按钮)后,我试图进行少量计算并更新单元格中的结果。
当打开Excel工作表时,我希望很少有单元格被禁用并变灰。为了实现相同的目的,我在Workbook_Open()
子代码下面编写了以下代码行。在该子下编写的所有条件都可以正常工作,除了我编写的禁用该单元格的语句(编写了锁定功能以禁用该单元格)。
经过一番冲浪,我了解到如果需要禁用/锁定单元格,则需要保护床单。因此,我在代码中增加了一行以保护工作表。但是,这停止了结果在单元格中的更新。
在单击“计算”按钮时,excel会指出“表格受到保护”。因此,是否有使用VB脚本启用/禁用单元格而又不保护工作表的信息?
Private Sub Workbook_Open()
Dim b1 As Variant
Set b1 = Sheets("Calculation Tool").CommandButton22
b1.Enabled = False
Range("B4:C4") = ""
Range("E4:O4") = ""
Range("E9:F9") = ""
'This is the code written to disable the cells N4 and O4
Sheets("Calculation Tool").Range("N4:O4").Locked = True
Sheets("Calculation Tool").Protect
End Sub
答案 0 :(得分:3)
您本身不能“禁用” 工作表单元格;它不像文本框控件。
您 可以 ,但是
na.locf()
> Format Cells
标签)Fill
> Format Cells
标签)Protection
标签> Review
),以使单元格锁定生效。如果需要更改锁定的单元格,可以以编程方式取消保护工作表,进行更改,然后重新保护它。另外请注意,保护工作表时有几个选项可用。
或者,您可以改用文本框,然后像其他控件一样disable/lock。
另请参阅:Lock or unlock specific areas of a protected worksheet
(基于您的“灰白” 描述,我认为您正在考虑Microsoft Access Forms上的文本框。)
答案 1 :(得分:0)
在范围内尝试以下代码:
Range(“ A1:B2”)。Locked = True