EXCEL之圈释无效数据

原本的想法是想标识出物别的区域,间接调用EXCEL的CircelInvalid功能来达到效果。

功能效果如下:(需要选中相关区域)

具体代码:

Dim TheCircledCell As Range

Sub Mark_Circle()
Dim r As Range
Dim rng
rng = Selection
For Each r In Selection
    CircleCells r
Next r
CircleInvalid
End Sub

Sub Clear_Circle()
Dim r As Range
Dim rng
rng = Selection
For Each r In Selection
    ClearCircle r
Next r
End Sub


Sub CircleCells(CellToCircle As Range)
    If Not CellToCircle Is Nothing Then
        With CellToCircle
            If .Count > 1 Then Exit Sub
            Set TheCircledCell = CellToCircle
            .Validation.Delete
            .Validation.Add xlValidateTextLength, xlValidAlertInformation, xlEqual, 2147483647#
            .Validation.IgnoreBlank = False
            .Parent.CircleInvalid
        End With
    End If
End Sub

Sub ClearCircle(CellToCircle As Range)
If Not CellToCircle Is Nothing Then
    With CellToCircle
        .Validation.Delete
        .Parent.ClearCircles
    End With
End If
End Sub

猜你喜欢

转载自my.oschina.net/tedzheng/blog/1791696