在锁定的工作表中更改未锁定单元格的颜色

时间:2017-01-25 06:19:27

标签: excel vba excel-vba events

我正在处理一个奇怪的问题。

我的代码会创建一个锁定的工作表,其中包含一些未锁定的单元格。

该代码还会创建一个Worksheet_Change子,用于更改已编辑单元格的内部颜色。

它运行正常,但是当我关闭文件并再次打开它时,虽然未锁定的单元格是可编辑的,但ThisWorkbook.Sheets(atar).Cells(exlRow, 7).Locked = False Worksheets(atar).Protect UserInterfaceOnly:=True, Password:="shani" 'lock sheet sub会出现更改颜色的错误:

  

"应用程序定义或对象定义的错误"。

当我尝试更改sub中颜色的值时,它确实有效。

锁定表格:

 Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    Target.Interior.Color = RGB(0, 255, 0)

 End Sub

创建子:

@import FirebaseDatabaseUI;

1 个答案:

答案 0 :(得分:1)

您需要AllowFormattingCells:=True才能让细胞着色:

Worksheets(atar).Protect UserInterfaceOnly:=True, AllowFormattingCells:=True, Password:="shani"