我从工作表中的文本列表生成XML但我无法弄清楚如何检查当前单元格中是否有粗体字。我需要做的是检查A列中的每个单元格,将文本读成字符串,如果我点击任何粗体字,请在其周围添加 标记。
我知道您可以逐个字符地读取单元格内容,但不能读取格式。
非常感谢任何帮助!
答案 0 :(得分:10)
以下是一种可用于检查单元格是否
的方法NULL
TRUE
FALSE
示例强>
Sub Sample()
Debug.Print Range("A1").Font.Bold
Debug.Print Range("A2").Font.Bold
Debug.Print Range("A3").Font.Bold
End Sub
要检查单元格是否有任何粗体字符,您也可以使用此功能(来自VBA或工作表)
'~~> This is an additional function which will return...
'~~> TRUE if Cell has mixed/all chars as bold
'~~> FALSE if cell doesn't have any character in bold.
'~~> This can also be used as a worksheet function.
Function FindBoldCharacters(ByVal aCell As Range) As Boolean
FindBoldCharacters = IsNull(aCell.Font.Bold)
If Not FindBoldCharacters Then FindBoldCharacters = aCell.Font.Bold
End Function
<强>截图强>
您可以使用.Characters().Font.FontStyle
检查每个字符是否为粗体。使用上面的范围A1
示例。
Sub Sample()
For i = 1 To Len(Range("A1").Value)
Debug.Print Range("A1").Characters(i, 1).Font.FontStyle
Next i
End Sub
<强> Screeenshot 强>
修改后的代码
Sub Sample()
For i = 1 To Len(Range("A1").Value)
If Range("A1").Characters(i, 1).Font.FontStyle = "Bold" Then
Debug.Print "The " & i & " character is in bold."
End If
Next i
End Sub
<强>截图强>