Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 968|回复: 2

[已解决]大神!Excel中删除特定内容与重复内容,谢谢

[复制链接]
发表于 2021-12-26 14:57 | 显示全部楼层 |阅读模式
本帖最后由 兔八哥 于 2021-12-26 15:27 编辑

大神!Excel中删除特定内容与重复内容,请参考附件。万分谢谢!!!
最佳答案
2021-12-27 23:39
本帖最后由 林木水 于 2021-12-28 11:10 编辑
  1. Sub 根据字体颜色删除()
  2. Dim rg As Range, i As Integer, k As Integer
  3. For Each rg In Range("A2:A" & Cells(65536, 1).End(xlUp).Row)
  4.     For i = 1 To rg.Characters.Count
  5.         If rg.Characters(i, 1).Font.ColorIndex = 3 Or rg.Characters(i, 1).Font.ColorIndex = 23 Then
  6.         Else
  7.            k = k + 1
  8.            rg.Offset(0, 1).Characters(k, 1).text = rg.Characters(i, 1).text
  9.         End If
  10.     Next i
  11.     k = 0
  12. Next rg
  13. 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


附件信息截图

附件信息截图

谢谢大神指点.zip

8.45 KB, 下载次数: 5

附件

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2021-12-26 14:59 | 显示全部楼层
大神!Excel中删除特定内容与重复内容,请参考附件。万分谢谢!!!

谢谢大神指点.zip

8.45 KB, 下载次数: 6

回复

使用道具 举报

发表于 2021-12-27 23:39 | 显示全部楼层    本楼为最佳答案   
本帖最后由 林木水 于 2021-12-28 11:10 编辑
  1. Sub 根据字体颜色删除()
  2. Dim rg As Range, i As Integer, k As Integer
  3. For Each rg In Range("A2:A" & Cells(65536, 1).End(xlUp).Row)
  4.     For i = 1 To rg.Characters.Count
  5.         If rg.Characters(i, 1).Font.ColorIndex = 3 Or rg.Characters(i, 1).Font.ColorIndex = 23 Then
  6.         Else
  7.            k = k + 1
  8.            rg.Offset(0, 1).Characters(k, 1).text = rg.Characters(i, 1).text
  9.         End If
  10.     Next i
  11.     k = 0
  12. Next rg
  13. 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


谢谢大神指点.rar

14.35 KB, 下载次数: 5

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 10:08 , Processed in 0.281303 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表