我在excel表中有两列A和B. 列是包含“是”和“否”的下拉列表。 我想从下拉列表中更改基于A单元格的文本值的B单元格的颜色。 例如,如果我在A1单元格中选择“是”,则B1单元格应显示绿色。 A2,A3 ......等。
我不是程序员所以我在VBA coading时真的很棒。对于这种情况,条件形成也存在问题。
如果有人对此有答案,那将是我的荣幸。
答案 0 :(得分:0)
对您的代码进行了一些更改。
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
答案 1 :(得分:0)
使用条件格式
选择B栏, 点击条件格式>
突出显示细胞规则>
等于>输入"是"
在下拉菜单右侧选择自定义,
选择格式,
再次为"否"
重复此过程使用快速谷歌搜索会显示许多更容易理解的方法...