我试图在电子表格中创建一个代码,当满足单元格E13 =“ Country”和F13 =“ State”上的两个不同条件时,该代码将突出显示单元格的单独范围(A28:D28),F13具有验证依赖性E13上的值,该值也有数据验证。到目前为止,我已经有了这段代码,我认为这根本没有任何意义。
Set A = Range("E13")
If Not Intersect(Target, A) Is Nothing Then
If A = "Country" Then
For Each A In Range("E13")
If A.Offset(0, 1) = "State" Then
A.Interior.ColorIndex = 5
End If
End If
End If
此代码将用于跨多个部分的多种组合,以突出显示多个范围,但是我想我可以设法复制粘贴和更改范围,很抱歉,我的VBA技能不是那么好。 所有这一切都发生在一个代码上,当在一组单独的范围上满足某些条件时,该代码将返回MsgBoxs。
谢谢!
答案 0 :(得分:0)
这是完成工作的最基本的代码行:
Sub temp()
If Range("E13").Value = "Country" And Range("F13").Value = "State" Then Range("A28:D28").Interior.ColorIndex = 5
End Sub
在这里,如果您需要运行E13更改的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E13")) Is Nothing Then
If Range("E13").Value = "Country" And Range("F13").Value = "State" Then Range("A28:D28").Interior.ColorIndex = 5
'Copy and past the line above with the other criteria you may need
End If
End Sub
如何在运行填充颜色之前清除整个颜色范围,并检查E13或F13是否更改:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E13:F13")) Is Nothing Then
Range("A28:D38").Interior.Pattern = xlNone 'replace A28:D38 with your range
If Range("E13").Value = "Country" And Range("F13").Value = "State" Then Range("A28:D28").Interior.ColorIndex = 5
'Copy and past the line above with the other criteria you may need
End If
End Sub