Excel 用VBA给两个单元格着色
我的代码当前为范围(“N2:N86”)内的值着色,只要我在该范围内插入值。但是,我想添加一行额外的代码,每当在范围(“N2:N86”)中输入值时,都会对前面的列范围(“M2:M86”)进行着色或高亮显示 例如,如果我把1的值放在N2中,我希望N2和M2都高亮显示为红色。谢谢Excel 用VBA给两个单元格着色,excel,vba,cells,Excel,Vba,Cells,我的代码当前为范围(“N2:N86”)内的值着色,只要我在该范围内插入值。但是,我想添加一行额外的代码,每当在范围(“N2:N86”)中输入值时,都会对前面的列范围(“M2:M86”)进行着色或高亮显示 例如,如果我把1的值放在N2中,我希望N2和M2都高亮显示为红色。谢谢 Dim rCell As Range Dim inRng As Range Dim rRng As Range Set myRng = Range("N2:N86") myRng.Locked = True If Ran
Dim rCell As Range
Dim inRng As Range
Dim rRng As Range
Set myRng = Range("N2:N86")
myRng.Locked = True
If Range("R4") < 0 Then
For Each rCell In myRng
If rCell.Value > 0 Then
If rRng Is Nothing Then
Set rRng = rCell
Else
Set rRng = Application.Union(rRng, rCell)
End If
End If
Next
rRng.Locked = False
rRng.Interior.ColorIndex = 3
End If
Dim rCell作为范围
变暗输入范围
暗rRng As范围
设置myRng=范围(“N2:N86”)
myRng.Locked=True
如果范围(“R4”)小于0,则
对于myRng中的每个rCell
如果rCell.Value>0,则
如果rRng不算什么,那么
设置rRng=rCell
其他的
Set rRng=Application.Union(rRng,rCell)
如果结束
如果结束
下一个
rRng.Locked=False
rRng.Interior.ColorIndex=3
如果结束
我不能100%确定您的要求,但这里有一些您可以测试的内容。(当N列中的单元格值发生变化时,为两列中的行着色)
怎么样rRng.Offset(0,-1).Interior.ColorIndex=3
?
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("N2:N86"), Target) Is Nothing Then
Target.Interior.ColorIndex = 36
Target.Offset(, -1).Interior.ColorIndex = 36
End If
Application.EnableEvents = True
End Sub