[英]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.