Function HasStrike(Rng as Range) As Boolean
HasStrike = Rng.Font.Strikethrough
End Function
我正在使用自定义函数来查看列是否有删除线。如果该列有删除线,它返回一个布尔值,我删除该行。但是,我收到 #VALUE 错误。我正在检查的列中只有“MASS”这个词。不知道发生了什么。
Function HasStrike(Rng as Range) As Boolean
HasStrike = Rng.Font.Strikethrough
End Function
我正在使用自定义函数来查看列是否有删除线。如果该列有删除线,它返回一个布尔值,我删除该行。但是,我收到 #VALUE 错误。我正在检查的列中只有“MASS”这个词。不知道发生了什么。
如果单元格内容具有混合格式,您的函数将返回#VALUE:有些文本被删除,有些则没有。
选择“问题”输入单元格之一,然后转到“格式化单元格”>>字体选项卡。是否选中了“删除线”或如下所示?这将表明混合格式。
试试这个也许:
Function HasStrike(Rng As Range) As Boolean
Dim v
Application.Volatile '<< EDIT: added this
On Error Resume Next
v = Rng.Font.Strikethrough
On Error GoTo 0
HasStrike = v Or IsNull(v)
End Function