繁体   English   中英

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

[英]In an Excel User-Defined function, how can I determine which font is being used?

我有一个包含数千行的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”。 因此,尽管在页面上看起来好像该单元格已应用了粗体,但上面的UDF无法正常工作。

如何更改UDF以识别字体?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM