以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  循环替换时出现的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178668)

--  作者:南望
--  发布时间:2022/7/14 14:46:00
--  循环替换时出现的问题
For Each r In Range("A1:G2") \'单元格范围 A2:E115
        count = r.Characters.count
        For i = 1 To count
            If r.Characters(i, 1).Font.Color <> 0 Then
                ‘符合条件时字符会被替换成空,但总是替换不完整。分析后觉得是替换为空以后,后面的字符串前移,但变量i的值仍然在+1,所以总会漏掉一些内容,请问题老师如何解决?这属于算法不,即循环体减少了。
                r.Characters(i, 1).Text = ""
            End If
        Next
    Next

--  作者:有点蓝
--  发布时间:2022/7/14 14:58:00
--  
倒序

       For i =  count to 1 step -1
            If r.Characters(i, 1).Font.Color <> 0 Then
                ‘符合条件时字符会被替换成空,但总是替换不完整。分析后觉得是替换为空以后,后面的字符串前移,但变量i的值仍然在+1,所以总会漏掉一些内容,请问题老师如何解决?这属于算法不,即循环体减少了。
                r.Characters(i, 1).Text = ""
            End If
        Next

--  作者:南望
--  发布时间:2022/7/14 15:08:00
--  
问题解决,谢谢老师。