Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel用户定义函数中,如何确定使用的字体?_Excel_User Defined Functions_Vba - Fatal编程技术网

在Excel用户定义函数中,如何确定使用的字体?

在Excel用户定义函数中,如何确定使用的字体?,excel,user-defined-functions,vba,Excel,User Defined Functions,Vba,我有一个包含数千行的Excel文件。某些单元格为粗体,而其他单元格为非粗体。通常我能够确定哪些单元格为粗体,哪些单元格不使用此自定义项: Function isBold(cellBold) Application.Volatile If cellBold.Font.Bold = True Then isBold = 1 ElseIf cellBold.Font.Bold = False Then isBold = 0 Else

我有一个包含数千行的Excel文件。某些单元格为粗体,而其他单元格为非粗体。通常我能够确定哪些单元格为粗体,哪些单元格不使用此自定义项:

Function isBold(cellBold)
    Application.Volatile
    If cellBold.Font.Bold = True Then
        isBold = 1
    ElseIf cellBold.Font.Bold = False Then
    isBold = 0
    Else
        isBold = 0
    End If
End Function
这在实际已将粗体应用于单元格的单元格上效果很好,但导入数据时,原始源会通过更改字体(而不是将粗体应用于单元格)将文本从常规更改为粗体

例如,常规字体为“Times New Roman”,粗体字体为“Times New Roman bold”。因此,尽管页面上的单元格似乎已应用了粗体,但上面的自定义项不起作用


如何更改自定义项以识别字体?

此代码将查找字体名称是否包含“粗体”字符串,如果是,则将布尔值设置为1:

Function isBold(cellBold)
     Application.Volatile
     pos = InStr(cellBold.Font.Name, "Bold")
     If pos > 0 Then
        isBold = 1
     End If  
End Function

此代码找出字体名称是否包含“粗体”字符串,如果是,则将布尔值设置为1:

Function isBold(cellBold)
     Application.Volatile
     pos = InStr(cellBold.Font.Name, "Bold")
     If pos > 0 Then
        isBold = 1
     End If  
End Function

此代码找出字体名称是否包含“粗体”字符串,如果是,则将布尔值设置为1:

Function isBold(cellBold)
     Application.Volatile
     pos = InStr(cellBold.Font.Name, "Bold")
     If pos > 0 Then
        isBold = 1
     End If  
End Function

此代码找出字体名称是否包含“粗体”字符串,如果是,则将布尔值设置为1:

Function isBold(cellBold)
     Application.Volatile
     pos = InStr(cellBold.Font.Name, "Bold")
     If pos > 0 Then
        isBold = 1
     End If  
End Function

你想知道单元格是粗体还是字体名称?你想知道单元格是粗体还是字体名称?你想知道单元格是粗体还是字体名称?你想知道单元格是粗体还是字体名称?你想知道单元格是粗体还是字体名称?这很有效,谢谢。为了完整性,这里是我使用过的代码:

函数isBold(cellBold)应用程序。Volatile pos=InStr(cellBold.Font.Name,“Bold”)如果pos>0,那么isBold=1如果End函数
有效,谢谢。为了完整性,这里是我使用过的代码:

函数isBold(cellBold)应用程序。Volatile pos=InStr(cellBold.Font.Name,“Bold”)如果pos>0,那么isBold=1如果End函数
有效,谢谢。为了完整性,这里是我使用过的代码:

函数isBold(cellBold)应用程序。Volatile pos=InStr(cellBold.Font.Name,“Bold”)如果pos>0,那么isBold=1如果End函数
有效,谢谢。为了完整性,这里是我使用的代码:

函数isBold(cellBold)应用程序。Volatile pos=InStr(cellBold.Font.Name,“Bold”)如果pos>0,那么isBold=1如果End函数