在 vba 中获取数组长度-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > vba >

在 vba 中获取数组长度

作者:迹忆客 最近更新:2023/03/19 浏览次数:

数组是计算机编程中的流行工具,你可以在其中保存所需的信息以供以后使用或代码执行期间使用。几乎每一种计算机编程语言,数组都包含在它们的库中,因为有时不可避免地需要保存和检索信息。

在 vba 中,获取数组的长度意味着计算数组中存在的元素的数量。为此,你必须知道索引的最低和最高元素。然后,最高与最低之间的差异将是数组长度。

此外,你可以使用 counta 工作表函数来获取相同的信息。

本篇文章使用最高/最低索引差异和 counta 工作表函数来获取 vba 数组的长度。

获取最高和最低索引的差异以获取 vba 中的数组长度

该方法的逻辑是,我们可以通过将最低索引减去最高索引然后加 1 来获得数组的长度。我们加 1 是因为需要在数组长度中包含最低索引。

下面的代码块将演示如何获取一个固定长度数组的数组长度。请注意,仅获取最高索引来获取数组长度并不总是正确的,因为在某些情况下最低索引不等于 0 并且可以从不同的索引开始。

sub arraylengthdemo()
dim stringarr(5 to 9) as string
stringarr(5) = "glen"
stringarr(6) = "yumi"
stringarr(7) = "myla"
stringarr(8) = "katrina"
stringarr(9) = "jose"
debug.print "the array length of stringarr is " ubound(stringarr) - lbound(stringarr)   1
end sub

arraylengthdemo 输出:

the array length of stringarr is  5

下面的代码块将演示如何获取动态数组的数组长度。

sub arraylengthdemo()
dim stringarr as variant
stringarr = array("glen", "yumi", "katrina", "myla", "jose")
debug.print "the array length of stringarr is "; ubound(stringarr) - lbound(stringarr)   1
end sub

arraylengthdemo 输出:

the array length of stringarr is  5

将演示在下面的代码中实现获取数组长度的函数。如果经常需要获取数组长度,这将很有帮助。

此外,下面的代码具有额外的逻辑来检测要测量的数组是否为空。

public function getarraylength(arr as variant) as integer
   if isempty(arr) then
      getarraylength = 0
   else
      getarraylength = ubound(arr) - lbound(arr)   1
   end if
end function
sub getarraylengthdemo1()
dim stringarr(5 to 9) as string
stringarr(5) = "glen"
stringarr(6) = "yumi"
stringarr(7) = "myla"
stringarr(8) = "katrina"
stringarr(9) = "jose"
debug.print "the array length is " & getarraylength(stringarr)
end sub
sub getarraylengthdemo2()
dim nullarr as variant
debug.print "the array length is " & getarraylength(nullarr)
end sub

getarraylengthdemo1 输出:

the array length is 5

getarraylengthdemo2 输出:

the array length is 0

在 vba 中使用 counta 工作表函数来获取数组长度

数组是以单维或多维方式构造的元素的集合。你可以使用 counta 工作表函数在一行代码中计算这些元素。

下面的代码块演示了如何使用 counta 工作表函数获取数组长度。

语法:

worksheetfunction.counta([ arrayname ])

范围:

   
[arrayname] 要测量的数组

counta 工作表函数仅限于 30 个元素。如果处理大型数组,建议使用第一种方法。

sub arraylengthdemo()
dim stringarr(5 to 9) as string
stringarr(5) = "glen"
stringarr(6) = "yumi"
stringarr(7) = "myla"
stringarr(8) = "katrina"
stringarr(9) = "jose"
debug.print "the array length of stringarr is " & worksheetfunction.counta(stringarr)
end sub

arraylengthdemo 输出:

the array length of stringarr is 5
sub arraylengthdemo()
dim stringarr as variant
stringarr = array("glen", "yumi", "katrina", "myla", "jose")
debug.print "the array length of stringarr is " & worksheetfunction.counta(stringarr)
end sub

arraylengthdemo 输出:

the array length of stringarr is  5 

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 vba 中计算列数

发布时间:2023/03/19 浏览次数:599 分类:vba

本教程演示如何计算 vba 中的列数。

发布时间:2023/03/19 浏览次数:627 分类:vba

本教程演示了如何在 vba 中使用具有多个条件的自动过滤器。

发布时间:2023/03/19 浏览次数:383 分类:vba

本教程演示如何在 vba 中设置工作表。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图