我知道如果我检查 Font 的删除线属性,例如,如果所有单元格都是删除线,range("C1").Font.Strikethrough
我将有一个如果不是,但在这样的单元格中检查它: True
False
现在,知道了这一点,有没有办法识别内容单元格的一部分是否是“删除线”,然后解析它以便我可以用其他文本替换?
我知道我可以检查每个字符(查看此示例)如果它具有活动属性,但是,我怎么知道文本的哪一部分是删除线,然后用另一个文本替换该文本?
我知道如果我检查 Font 的删除线属性,例如,如果所有单元格都是删除线,range("C1").Font.Strikethrough
我将有一个如果不是,但在这样的单元格中检查它: True
False
现在,知道了这一点,有没有办法识别内容单元格的一部分是否是“删除线”,然后解析它以便我可以用其他文本替换?
我知道我可以检查每个字符(查看此示例)如果它具有活动属性,但是,我怎么知道文本的哪一部分是删除线,然后用另一个文本替换该文本?
所以我在考虑如何做到这一点,我想出了以下功能。
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
该函数用“||”替换每组删除线。然后在子中您将替换“||” 与想要的价值。