bug*_*net 4 excel vba array-formulas
例如,假设我有
{={1,2,3,4,5}}
Run Code Online (Sandbox Code Playgroud)
在一个牢房里.有没有办法找出该数组中有多少元素,以及这些元素是什么?
现在实现@chris neilsen的想法,我现在有了如下的VBA功能
Function rinfo(r As Range) As String
With r.CurrentArray
rinfo = .Address & ", " & .Rows.Count & ", " & .Columns.Count & ", " & .Value & ", " & .Value2
End With
End Function
Run Code Online (Sandbox Code Playgroud)
然而,来自它的数据看起来没有希望,即
$A$29, 1, 1, 1, 1
Run Code Online (Sandbox Code Playgroud)
如果Rows.Count和Columns.Count计算工作表中使用的行和列,则它们是有意义的.但作为数组公式中数据的指示,没有.
您的公式只占用一个单元格,并且一个单元格只能包含标量值,因此在计算单元格后它将包含1.
但您可以从VBA计算公式,并且可以为您提供数组结果.如果你的公式是在A1那么
Dim vArr As Variant
vArr = Evaluate(Range("a1").Formula)
Run Code Online (Sandbox Code Playgroud)
将导致vArr包含4个数字的4个变体的数组.
Evaluate方法有几个"怪癖":有关详细信息,请参阅我的一个网页.
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |