繁体   English   中英

如何通过VBA根据其他单元格值更改单元格的背景颜色

[英]How to change background color of cell based on other cell value by VBA

我在Excel工作表中有两列A和B。 列是包含“是”和“否”的下拉列表。 我想根据下拉列表中A单元格的文本值更改B单元格的颜色。 例如,如果我在A1单元格中选择“是”,则B1单元格应显示绿色。 A2,A3 ...等

我不是程序员,所以我真的不擅长VBA编码。 对于这种情况,条件形成也有问题。

如果有人对此有答案,那将是我的荣幸。

对您的代码进行了一些更改。

Sub RowFormat()
    Dim A As Range
    For Each A In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
        If Not IsError(A) Then
            If A.Value = "Yes" Then
                A.Offset(0, 1).Interior.ColorIndex = 6
            ElseIf A.Value = "No" Then
                A.Offset(0, 1).Interior.ColorIndex = 3
            Else
                A.Offset(0, 1).Interior.ColorIndex = xlNone
            End If
        End If
    Next A
End Sub

使用条件格式。

对于“是”,请使用=A1="Yes"
对于“否”,请使用=A1="No"并相应地应用格式设置。

在此处输入图片说明

编辑:

如果您使用的是Worksheet_Change事件,请使用以下代码。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub 'check for range
    If Target.Value = "Yes" Then 'check if yes
        Target.Offset(0, 1).Interior.ColorIndex = 6
    ElseIf Target.Value = "No" Then 'check if no
        Target.Offset(0, 1).Interior.ColorIndex = 3
    Else
        Target.Offset(0, 1).Interior.ColorIndex = xlNone
    End If
End Sub

使用条件格式

选择B列,单击条件格式>

突出显示单元格规则>

也等于>键入“是”

在右侧的下拉菜单中选择自定义,

选择格式,

再次对“否”重复该过程

快速的Google搜索将显示许多易于遵循的方法...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM