本帖最后由 林木水 于 2021-12-28 11:10 编辑
- Sub 根据字体颜色删除()
- Dim rg As Range, i As Integer, k As Integer
- For Each rg In Range("A2:A" & Cells(65536, 1).End(xlUp).Row)
- For i = 1 To rg.Characters.Count
- If rg.Characters(i, 1).Font.ColorIndex = 3 Or rg.Characters(i, 1).Font.ColorIndex = 23 Then
- Else
- k = k + 1
- rg.Offset(0, 1).Characters(k, 1).text = rg.Characters(i, 1).text
- End If
- Next i
- k = 0
- Next rg
- End Sub
复制代码以上,安排!
删除了红色字体跟蓝色字体。
是否解决问题,解决问题老规矩
今天测试了一下,以上代码office可以直接出结果,WPS不行,不能直接修改对应字符的text并保存,代码调整如下,选择自己适合的:
Sub 根据字体颜色删除()
Dim rg As Range, i As Integer, k As Integer
For Each rg In Range("A2:A" & Cells(65536, 1).End(xlUp).Row)
rg.Offset(0, 1).Value = ""
For i = 1 To rg.Characters.Count
If rg.Characters(i, 1).Font.ColorIndex = 3 Or rg.Characters(i, 1).Font.ColorIndex = 23 Then
Else
k = k + 1
rg.Offset(0, 1).Value = rg.Offset(0, 1).Value & rg.Characters(i, 1).text
End If
Next i
k = 0
Next rg
End Sub