有没有一种方法可以分割一部分文本内容?

我知道,如果我检查字体的strikethrough属性,例如range("C1").Font.Strikethrough如果所有单元格都是删除线,将会有True如果不是,而是在单元格中检查它,

文本部分通讯

该物业的结果是Null

现在知道了,是否有办法识别内容单元的一部分是否是“删除线”,然后parsing它,以便用其他文本replace?

我知道我可以检查每个字符(签出这个例子 ),如果它有属性活跃,但是,我怎么知道文本的哪一部分是删除线,然后用另一个replace文本?

所以我在想如何做到这一点,我想出了以下function。

 Function strkThr(t As Range) As String Dim i As Long Dim y As Boolean Dim temp As String y = False temp = "" For i = 1 To Len(t.Value) If Not t.Characters(i, 1).Font.Strikethrough = y Then temp = temp & "|" If y Then y = False Else y = True End If End If If Not y Then temp = temp & Mid(t, i, 1) End If Next strkThr = temp End Function Sub replace() Dim cel As Range For Each cel In Range("A1:A100") cel.Value = strkThr(cel) cel.Value = replace(cel.Value, "||", YOURVALUE) Next cel End Sub 

函数用“||”来代替每个文本的分组。 然后在子文件中,您将replace“||” 与想要的价值。