原本的想法是想标识出物别的区域,间接调用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