作者:绿色风
分类:
时间:2022-08-18
浏览:133
楼主 omnw |
根据A2单元格中的内容,将A1单元中指定的文本标识为红色。
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim i As Integer
- Dim mt As String
- Dim mt2 As String
- Dim j As Integer
- If Selection.Cells.Count > 1 Then Exit Sub
- If Target.Address = "$A$2" Then
- Target.Offset(-1, 0).Font.ColorIndex = xlAutomatic
- For i = 1 To Len(Target)
- mt = Mid(Target, i, 1)
- For j = 1 To Len(Target.Offset(-1, 0))
- mt2 = Mid(Target.Offset(-1, 0), j, 1)
- If mt = mt2 Then
- Target.Offset(-1, 0).Characters(Start:=j, Length:=1).Font.ColorIndex = 3
- End If
- Next
- Next
- End If
- End Sub
|
2楼 水星钓鱼 |
以上代码是将A2和A1作比较,凡是相同的文字都用红色字体显示。 以下代码是只显示包含的词组,不每个相同的字都显示
- Private Sub Worksheet_Change(ByVal Target As Range)
- '将相邻的单元格的内容进行比较,如果包含其中的词组,则用红色字体显示
- Dim L1 As Long
- Dim L2 As Long
- Dim Counter As Long
- Dim Rng1 As Range
- Dim Rng2 As Range
- Set Rng1 = Target
- '如果是在A列,则不响应Change事件
- If Rng1.Column = 1 Then Exit Sub
- If Rng1 <> "" Then
- Set Rng2 = Target.Offset(0, -1)
- L1 = Len(Rng1)
- L2 = Len(Rng2)
- '如果L2长度小于L1,则L2不变色
- If L2 >= L1 Then
- For Counter = 1 To L2
- If Mid(Rng2, Counter, L1) = Rng1 Then
- Rng2.Characters(Counter, L1).Font.ColorIndex = 3
- End If
- Next
- End If
- Else
- Target.Offset(0, -1).Font.ColorIndex = xlColorIndexAutomatic
- End If
- End Sub
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一