簡體   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