它是一个受保护的工作表/工作簿,我有一个代码可以为用户提示,无论是否编辑工作表。单元格是可编辑的,但问题是单元格没有以边框突出显示。因此,用户很难知道他正在处理哪些细胞。
我在这里有2张,Corefiller和Ad-filler,如果在corefiller表上的下拉是" No"。用户在选择工作表时会收到提示,如果他不想编辑,则单击“确定”编辑工作表或取消。
表格上的代码"广告填充"
Option Explicit
Private mMessageDisplayed As Boolean
Private Sub Worksheet_Activate()
Carry
End Sub
模块上的代码。
Public Sub Carry()
If ActiveSheet.ProtectContents And Not mMessageDisplayed Then
mMessageDisplayed = True
If ThisWorkbook.Sheets("Corefiller").Range("E29") = "NO" Then
If MsgBox("Click OK to include Filler for this request", vbOKCancel + vbInformation) = vbOK Then
ThisWorkbook.Worksheets("Corefiller").Range("E29") = "YES"
With ThisWorkbook.Sheets("Ad-filler")
.Range("E13:E14").Locked = False
End With
Else
With ThisWorkbook.Sheets("Ad-filler")
.Range("E13:E14").Locked = True
End With
End If
Else
Exit Sub
End If
End If
End Sub
我的代码有什么问题?为什么细胞没有突出显示。如果我尝试在代码中使用保护/取消保护,第一张(Corefiller)上的单元格将不会突出显示,我必须单击其他工作表并返回以突出显示单元格。
答案 0 :(得分:0)
您可以重新启动,执行此操作并检查问题是否仍然存在:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = 0
Target.Interior.ColorIndex = 3
End Sub