VBA Excel -函数-数组长度

qjp7pelc  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(171)

我多次发现这个函数用于确定数组的长度。它对我不起作用...有人知道解决方案吗?

Function GetArrayLength(arr As Variant) As Integer

   If IsEmpty(arr) Then

      GetArrayLength = 0

   Else

      GetArrayLength = UBound(arr) - LBound(arr) + 1

   End If

End Function

如果我尝试在Excel中使用该函数,它不工作... enter image description here
你能告诉我可能是什么问题吗?

3qpi33ja

3qpi33ja1#

你正在传递一个范围-它是一个二维数组。改变你的输入参数:

Function GetArrayLength(rg As Range) As Long
    
    Dim arr As Variant
    arr = rg.Value

   If IsEmpty(arr) Then
      GetArrayLength = 0
      
   ElseIf rg.Cells.Count = 1 Then
     GetArrayLength = 1
     
   Else
      GetArrayLength = UBound(arr, 1) - LBound(arr, 1) + 1
      
   End If

End Function

但是您可以使用=ROWS(A1:A5)来实现相同的结果,而无需UDF

相关问题