Excel Vba检查单元格中是否部分加粗

Excel Vba检查单元格中是否部分加粗,excel,vba,formatting,cell,Excel,Vba,Formatting,Cell,我正在从工作表中的文本列表生成XML,但我不知道如何检查当前单元格中是否有粗体字。我需要做的是检查A列中的每个单元格,将文本读入字符串,如果我点击任何粗体字,在其周围添加标记 我知道你可以一个字符一个字符地读取单元格内容,但不能读取其格式 任何帮助都将不胜感激 这里有一种方法可以用来检查单元格是否有 混合字符,粗体。在这种情况下,它将返回NULL 所有字符都是粗体的。在这种情况下,它将返回TRUE 没有一个字符是粗体的。在这种情况下,它将返回FALSE 示例 Sub Sample() D

我正在从工作表中的文本列表生成XML,但我不知道如何检查当前单元格中是否有粗体字。我需要做的是检查A列中的每个单元格,将文本读入字符串,如果我点击任何粗体字,在其周围添加标记

我知道你可以一个字符一个字符地读取单元格内容,但不能读取其格式


任何帮助都将不胜感激

这里有一种方法可以用来检查单元格是否有

  • 混合字符,粗体。在这种情况下,它将返回
    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
    
    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
    

    要检查单元格是否有粗体字符,也可以使用此函数(从VBA或工作表中)

    屏幕截图

    您可以使用
    .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
    
    尖叫声

    修改代码

    Sub Sample()
        Debug.Print Range("A1").Font.Bold
        Debug.Print Range("A2").Font.Bold
        Debug.Print Range("A3").Font.Bold
    End Sub
    
    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
    
    屏幕截图


    Sid,我知道你的
    字符
    代码,但我不清楚
    FinBoldCharacters
    在做什么,或者它是如何命名的?