进行更改时如何更改多个,如何以Exel黄色突出显示一行,以红色突出显示单元格

问题描述

在更改单元格时,我使用以下公式突出显示黄色行和红色单元格。问题是有时我们要对行进行多个更改,并希望所有具有更改的单元格都保持红色,但是当更改行中的第二个单元格时,此公式会擦除第一个红色单元格。我是否可以添加一些例外,以防止在进行第二次更改时已由红色单元格变为黄色?

Private Sub Workbook_SheetChange(ByVal Sh As Object,ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
    Target.EntireRow.Interior.Color = vbYellow
    Target.Interior.Color = vbRed
End Sub

解决方法

请尝试使用此代码。

{
"addresses": {
"http": "0.0.0.0"
  }
}

未经测试上述过程。实际上,我想知道为什么要使用Workbook事件。但是,我确实测试了下面的功能,也许这就是您所需要的。

Private Sub Workbook_SheetChange(ByVal Sh As Object,ByVal Target As Range)

    Dim Cl      As Long                 ' last used column

    With Target
        If .CountLarge = 1 Then
            ' change .Row to longest used row number
            ' if your rows aren't of uniform length
            If Sh.Cells(.Row,"A").Interior.Color <> vbYellow And _
               Sh.Cells(.Row,"A").Interior.Color <> vbRed Then
                Cl = Sh.Cells(.Row,Columns.Count).End(xlToLeft).Column
                Sh.Range(Sh.Cells(.Row,1),Sh.Cells(.Row,Cl)).Interior.Color = vbYellow
            End If
            .Interior.Color = vbRed
        End If
    End With
End Sub

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...