当使用VBA高度function时,我得到奇怪的数字

我想在VBA中使用高度函数,但我得到奇怪的数字。 而不是返回范围的高度,而是返回范围的高度乘以15.例如,下面的简单函数:

Function h(c1 As Range) As Double h = c1.Height End Function 

如果c1是单个单元格,则会给出15的值,如果c1是2个单元格高度则会给出30,依此类推。 我应该澄清,我正在使用它作为更大function的一部分,但是正是这个问题导致了这个问题。 我想尽可能简单地做一个function,看看问题是否存在,是否存在。 我真的不明白为什么会发生这种情况,以前我用过高度function没问题。 任何意见将不胜感激,谢谢

你误解了什么是高度属性。 高度是以点为单位的高度…

从这里.. https://msdn.microsoft.com/zh-cn/library/office/aa215509%28v=office.11​​%29.aspx?f=255&MSPPError=-2147217396

返回指定范围内所有行的高度,以点为单位。 如果指定范围中的行不是全部相同的高度,则返回Null。 读取/写入变式。 备注

您可以使用Height属性来返回单元格范围的总高度。 RowHeight和Height之间的差异包括以下内容:高度是只读的。 如果返回多行的RowHeight属性,您将获取每个行的行高(如果所有行都是相同的高度)或Null(如果它们的高度不同)。 如果你返回几行的高度属性,你将得到所有行的总高度。 例

此示例使Sheet1上第一行的高度加倍。 使用工作表(“Sheet1”)。行(1).RowHeight = .RowHeight * 2结束