根据特定的内部颜色在单元格周围添加白色边框

时间:2018-04-26 19:20:37

标签: excel vba excel-vba

我尝试将条件格式添加到指定的数据范围,这些数据会在具有特定背景颜色的单元格周围添加白色边框。我希望它像条件格式一样,它会在使用特定的内部颜色时自动放置边框(即不是一次性可执行宏)。

Sample Image of White Borders

我需要能够对进行排序并在颜色周围保持此边框(使用条件格式的排序会移动单元格颜色,但不会移动边框)。出于这个原因,我知道这必须用macro / vba来完成。如果是这样,有人可以帮助使用宏/ vba公式吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

条件格式设置中有一个选项可设置边框轮廓颜色:

Image of Formatting Window

尝试:  条件格式> 新规则> 格式>的边界

排序将通过条件格式设置移动边框颜色。

我认为你正在寻找那个

答案 1 :(得分:0)

这个宏应该可以解决问题。将它放在工作表代码模块中。只需将下面的范围编辑到您的彩色单元格所在的任何范围。这在SelectionChange事件中非常有效,但您可能更喜欢在计算上,具体取决于您如何设置颜色。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim TargetRange As Range
    Dim cell As Range

    Set TargetRange = Range("A1:C5")  'or whatever you want to search

    For Each cell In TargetRange
        If (cell.Interior.Color = vbGreen Or cell.Interior.Color = vbRed) Then
            cell.Borders.Color = vbWhite
            cell.Borders.LineStyle = xlContinuous
        Else
            cell.Borders.LineStyle = xlNone
        End If
    Next
End Sub