2016-03-04 67 views
0

我想在VBA中使用高度功能,但我得到奇怪的數字。而不是返回範圍的高度的,它返回一個範圍乘以15。例如,下面的簡單的功能的高度:使用VBA高度功能時出現奇怪的數字

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

會給值15如果c1是一個單一的細胞,將如果c1是兩個單元高,則給出30,依此類推。我應該澄清,我正在將此作爲更大功能的一部分,但正是這個問題導致了這個問題。我想盡可能地簡化功能,看看問題是否仍然存在,並且是否存在。我真的不明白爲什麼會發生這種情況,我之前使用過高度功能沒有任何問題。任何意見將不勝感激, 謝謝

+1

這並不是說奇怪 - 在Excel默認行的高度爲15 [分](HTTPS://en.wikipedia .ORG /維基/ Point_(排版))。如果你只想知道你在一個範圍內有多少行,使用'c1.Rows.Count' –

回答

1

你是誤解什麼是身高屬性。高度是其在點高度...

從這裏.. https://msdn.microsoft.com/en-us/library/office/aa215509%28v=office.11%29.aspx?f=255&MSPPError=-2147217396

返回指定範圍內的所有行,以點爲單位的高度。如果指定範圍中的行不是全部相同的高度,則返回Null。讀取/寫入變式。 備註

您可以使用Height屬性返回單元格範圍的總高度。 RowHeight和Height之間的差異包括: 高度是隻讀的。 如果您返回多行的RowHeight屬性,您將獲得每個行的行高(如果所有行都是相同的高度)或Null(如果它們的高度不同)。如果您返回多行的高度屬性,您將獲得所有行的總高度。 示例

此示例將Sheet1上第一行的高度加倍。 。 隨着工作表( 「工作表Sheet」)行(1) .RowHeight = .RowHeight * 2 結束隨着

+0

謝謝,抱歉,愚蠢的錯誤 –