Vba 设置条件格式-底边

Vba 设置条件格式-底边,vba,excel,Vba,Excel,我想为$B2$B3时的范围设置条件格式。这是我的密码: Sub AddBorders() Dim rng As Range If ActiveSheet.Name <> Sheet1.Name Then Exit Sub End If Set rng = Range(Range("A2").End(xlToRight), Range("A2").End(xlDown)) 'rng.Activate rng.FormatConditions.Delete With rng

我想为$B2$B3时的范围设置条件格式。这是我的密码:

Sub AddBorders()
Dim rng As Range
If ActiveSheet.Name <> Sheet1.Name Then
    Exit Sub
End If

Set rng = Range(Range("A2").End(xlToRight), Range("A2").End(xlDown))
'rng.Activate
rng.FormatConditions.Delete


With rng.FormatConditions.Add(xlExpression, xlNotEqual, "=$B2<>$B3")
    With rng.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    End With
End With
End Sub
Sub-AddBorders()
变暗rng As范围
如果是ActiveSheet.Name Sheet1.Name那么
出口接头
如果结束
设置rng=范围(范围(“A2”).结束(xlToRight),范围(“A2”).结束(xlDown))
“rng.Activate
rng.FormatConditions.Delete
使用rng.FormatConditions.Add(xlExpression,xlNotEqual,“=$B2$B3”)
带rng.边框(底部)
.LineStyle=xlContinuous
.Weight=xlThin
以
以
端接头

看起来边框已经添加到了范围的最底部,我想要的是当B列中的值不同时范围内的边框。当我点击“条件格式”时,我看到已经设置了格式,并且手动添加到“格式”->“边框”->设置底部边框正是我想要的。但我不知道如何正确编码

去掉rng,这样就可以设置条件格式的边框,并将xlEdgeBottom换成xlBottom

Sub AddBorders()
    Dim rng As Range

    With Worksheets(Sheet1.Name)
        Set rng = .Range(.Range("A2").End(xlToRight), .Range("A2").End(xlDown))
    End With

    With rng
        .FormatConditions.Delete
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$B2<>$B3")
            With .Borders(xlBottom)
                .LineStyle = xlContinuous
                .Weight = xlThin
            End With
        End With
    End With
End Sub
Sub-AddBorders()
变暗rng As范围
带工作表(表1.名称)
设置rng=.Range(.Range(“A2”).End(xlToRight)、.Range(“A2”).End(xlDown))
以
带rng
.FormatConditions.Delete
With.FormatConditions.Add(类型:=Xexpression,公式1:=“=$B2$B3”)
带.Borders(xlBottom)
.LineStyle=xlContinuous
.Weight=xlThin
以
以
以
端接头

您的rng仅获取范围的最后一列。。。查看数据是否在C列和第500行结束,您的范围是C2:C500不确定这是否是您要格式化的范围。另一方面,当您选择此范围并执行edgebottom边框时,它将仅绘制C500。您需要使用边框(xlInsideHorizontal)来获取介于两者之间的边框。我认为您只需使用rng.Borders(xlEdgeBottom)从
中删除
rng
,但我会检查。您是否试图为范围:A2到最后一列和最后一行设置条件格式?@Damian,谢谢。您的解决方案在每一行后面都有边框(即使$B2=$B3),这不是我想要的。我不知道如何“触摸”条件格式的格式部分。看起来这种方法完全忽略了它,并设置了传统的边框,可以从“边框”菜单中擦除。@Damian,实际上它得到了范围(“C2:A500”)excel的开销解释为范围(“A2:C500”)。就是这样!谢谢您,先生。