例如,假設我有是否有Excel的數組公式的編程接口?
{={1,2,3,4,5}}
在細胞中。有什麼方法可以找出該陣列中有多少個元素,以及這些元素是什麼?
現在實行@克里斯尼爾森的主意,我現在已經有了一個VBA函數如下
Function rinfo(r As Range) As String
With r.CurrentArray
rinfo = .Address & ", " & .Rows.Count & ", " & .Columns.Count & ", " & .Value & ", " & .Value2
End With
End Function
但是從它的數據看起來不樂觀,即
$A$29, 1, 1, 1, 1
行.Count和Columns.Count是否合理,如果它們計算工作表中使用的行和列。但是,作爲數組公式中的數據的指示,不。
從哪裏? VBA或其他公式? –
@chris neilsen的解決方案正常工作。例如,如果確實有一個1x5的數組,那麼'.Value'和'.Value2'方法應該拋出一個類型不匹配的錯誤,因爲你的'{= {1,2,3,4,5}} '它們不適用於數組......但是它們不會,這使我認爲您的數組在表單上的大小爲1x1。 –
@Jean由於某種原因從udf調用時'.CurrentArray'不會返回整個範圍,而只是第一個單元格,因此在示例中沒有錯誤。那爲什麼我說「在一個小組」。更奇怪的是,如果函數是從一個Sub調用的,它會返回一個數組,並且示例*將會出錯。 –