更改现有不规则边框的颜色 - Excel

更改现有不规则边框的颜色 - Excel

我想更改 Excel 中多个单元格的现有边框颜色 - 其中一些单元格仅在顶部/左侧有边框或根本没有边框等。

是否有一个标准选项,或者是否可以使用宏来完成?

编辑:

显然我的描述不够清楚。我试图更改日历的边框颜色(已存在的单元格)。因此有 12 个选项卡和很多行。

正如您在下图中看到的,并非所有单元格都具有相同的边框(样式),例如,整个单元格周围都有边框(有些单元格有边框,有些单元格只有顶部/底部的一条线,有些单元格根本没有边框)。我试图更改所有单元格的颜色,而不必重新绘制所有线条。我想“更新”当前颜色。

边界示例

答案1

您可以使用这样的 VBA 代码 - 它会影响当前选择(如果选择的是单元格范围

Option Explicit

Public Sub setBorders()
    Dim cel As Range, clr1 As Long, clr2 As Long

    clr1 = vbWhite  'if cell border color is different than white, and has LineStyle

    clr2 = vbRed    'change its color to vbRed

    If TypeOf Selection Is Range Then
        For Each cel In Selection       'select your Range
            With cel
                With .Borders(xlEdgeLeft)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeTop)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeBottom)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
                With .Borders(xlEdgeRight)
                    If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2
                End With
            End With
        Next
    End If
End Sub

边框颜色


要使用它,请打开 VBA 编辑器 -Alt + F11,并将代码粘贴到标准 VBA 模块中

相关内容