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

我有一个有数千行的Excel文件。 有些单元格是大胆的 ,有些则不是。 通常我能够确定哪些单元格是粗体的,哪些不使用这个UDF:

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”。 正因为如此,尽pipe在页面上看起来好像单元格已经大胆应用它,但上面的UDF不起作用。

我怎样才能改变UDF,以确定字体?

这段代码找出字体名称是否包含“Bold”string,如果是,则将布尔值设置为1:

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