Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 用VBA给两个单元格着色_Excel_Vba_Cells - Fatal编程技术网

Excel 用VBA给两个单元格着色

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

我的代码当前为范围(“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 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