【问题标题】:Highlight Active Cell in Excel Without Resetting Existing Filled Cells突出显示 Excel 中的活动单元格而不重置现有的填充单元格
【发布时间】:2015-09-03 15:05:19
【问题描述】:

如何自动突出显示突出显示活动单元格的整行而不删除突出显示的其他单元格? (我想在有活动单元格时突出显示整行,然后在我离开时取消突出显示。)t

我知道下面的 VBA 代码可以做到这一点,但它消除了所有其他用颜色填充的单元格。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您可以使用Conditional Formatting 和简单的VBA Event 来做到这一点。请按以下步骤操作:

    在 Excel 中:
    1。当您想要突出显示行时选择范围...在此示例中为 A1:J20
    2。转到菜单 >> 主页 >> 条件格式 >> 新规则... >> 使用公式确定要格式化的单元格
    3。在公式文本框中写下这个公式:=CELL("row") = ROW(A1)
    4。按“格式...”按钮设置格式陈旧
    5。按确定

    在 VBA 中 在您进行上述操作的工作表模块中使用此事件:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Target.Calculate
    End Sub
    

    【讨论】:

    • 这个比我上面贴的好多了!至少在这里我们不必每次都重新运行宏。
    • 只需确保 ROW() 中的单元格对应于您要实现的范围内的第一个单元格。
    • =CELL("col")=COLUMN(A1) 当您还想突出显示列时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    相关资源
    最近更新 更多