【问题标题】:Excel VBA-delete string and following line within a cellExcel VBA删除字符串和单元格内的以下行
【发布时间】:2017-08-09 22:48:50
【问题描述】:

我需要从多个字符串中删除某些字符串(例如“SUBJECT:”,该字符串后面有一个换行符),以及整个下一行,包括下一个换行符 Excel 中的单元格。

如何为此编写宏?

我猜是这样的

Cells.Replace What:="Subject:" & Chr(10) & "[ANY TEXT]" & Chr(10), Replacement:="", Lookat:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False

【问题讨论】:

    标签: string excel cell vba


    【解决方案1】:

    您需要使用 InStr 在字符串中找到起点和终点:

    InStr([开始],字符串,子字符串,[比较])

    通过搜索“主题:”找到起点:

    startingPoint = InStr( cellValue, "Subject:" )
    

    End point 是之后的第二个 vbLf(换行)字符,所以要在起点开始第二个 InStr 加上第一个搜索字符串的长度(8)加一:

    endingPoint = Instr ( startingPoint + 8 + 1, cellValue, vbLf )
    

    然后把它和 Mid 函数放在一起:

    Mid(text_string, start_position, Length)

    长度等于结束位置减去开始位置。

    【讨论】:

      【解决方案2】:

      这在我的情况下有效!

      Selection.Replace What:="Subject:" & Chr(13) & "*" & Chr(13) & Chr(10), Replacement:="", Lookat:=xlPart, _
          SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
          ReplaceFormat:=False
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-31
        • 2012-10-20
        • 1970-01-01
        • 2013-08-10
        • 1970-01-01
        • 2021-05-12
        相关资源
        最近更新 更多