|
我的目的是实现点击单元格时,相同值高亮显示。但是点击单元格时总是出错,不知什么原因。
代码如下: Dim cell As Range
Dim searchValue As Variant
Dim isMerged As Boolean
' 检查被选中的单元格是否属于合并单元格的一部分
isMerged = IsMergedCell(Target)
' 如果不是合并单元格的一部分,则继续执行
If Not isMerged Then
' 获取被选中单元格的值
searchValue = Target.Value
' 设置要搜索的范围
Set rng = Me.Range("A1:Z100")
' 清除之前的底色
rng.Interior.ColorIndex = xlNone
' 遍历范围中的每个单元格
For Each cell In rng
' 检查单元格是否合并
If Not IsMergedCell(cell) Then
' 如果单元格的值与被选中单元格的值相同,则设置底色
If cell.Value = searchValue Then
cell.Interior.Color = RGB(255, 0, 0) ' 红色作为示例,你可以根据需要更改
End If
End If
Next cell
End If
End Sub
辅助函数为:Function IsMergedCell(ByVal cell As Range) As Boolean
Dim mergeRange As Range
On Error Resume Next ' 忽略错误
Set mergeRange = cell.MergeArea
On Error GoTo 0 ' 恢复正常错误处理
' 如果mergeRange没有被设置(即cell不是合并单元格的一部分),则返回False
If mergeRange Is Nothing Then
IsMergedCell = False
Else
' 否则,检查合并区域的地址是否与单元格地址不同
IsMergedCell = (mergeRange.Address <> cell.Address)
End If
End Function
非常感谢有人能帮我一下。
|
|