Oscar需要确定应用于单元格中文本的字体和字体大小。例如,如果单元格A1中的文本位于12点Arial中,则他想要一个可用于返回单元格B1中的“ Arial”和单元格C1中的12的函数。

Excel内置没有任何东西可以获取此格式信息。但是,您可以创建一个非常简单的宏来解决问题。下面的宏将单元格引用和可选的指示符作为参数作为您要返回的数据的参数。

Function FontInfo1(Rn As Range, Optional iType As Integer)

Application.Volatile     If iType = 2 Then         FontInfo1 = Rn.Font.Size     Else         FontInfo1 = Rn.Font.Name     Endif End Function

您可以通过在单元格中使用以下公式来使用该函数:

=FontInfo1(A1,1)

第二个参数(在本例中为1)表示您需要字体名称。

如果将第二个参数更改为2,则返回字体大小。

(实际上,第二个参数可以是2以外的任何值,也可以完全不使用它,并返回字体名称。)

如果要一次返回两个值,则可以应用一种鲜为人知的从用户定义的函数返回信息数组的方式。请尝试以下操作:

Function FontInfo2(c As Range) As Variant     Application.Volatile     FontInfo2 = Array(c.Font.Name, c.Font.Size)

End Function

选择两个水平相邻的单元格(例如C7:D7),然后键入以下公式:

=FontInfo(A1)

由于该函数返回一个数组,因此您需要通过按Shift + Ctrl + Enter终止公式条目。字体名称显示在第一个单元格(C7)中,字体大小显示在第二个单元格(D7)中。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7139)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: