VBA单元格未突出显示

时间:2016-11-10 13:34:39

标签: excel vba excel-vba

它是一个受保护的工作表/工作簿,我有一个代码可以为用户提示,无论是否编辑工作表。单元格是可编辑的,但问题是单元格没有以边框突出显示。因此,用户很难知道他正在处理哪些细胞。

我在这里有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)上的单元格将不会突出显示,我必须单击其他工作表并返回以突出显示单元格。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以重新启动,执行此操作并检查问题是否仍然存在:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Cells.Interior.ColorIndex = 0
    Target.Interior.ColorIndex = 3

End Sub