mshd.net
当前位置:首页 >> 在ExCEl中利用VBA编写使用ArrAy函数创建数组? >>

在ExCEl中利用VBA编写使用ArrAy函数创建数组?

Option Explicit Sub ArrayTest() Dim arr As Variant '定义变量 '将1到10十个自然数赋给数组arr arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) MsgBox "arr数组的第2个元素为:" & arr(1) End Sub

你是说函数的返回值是一个数组么,可以把这个函数的结果赋值给一个变量,也可以直接函数后面加索引号操作,参考一下如下示例代码: Option Explicit'第一种,直接用函数后面加索引的形式访问返回数组StrToArr(s)(2)Sub test1() Dim s As String ...

array(0,1)(1) 表示取数组{0,1}的第1个元素(从0开始计数) lbound(array(2,4,6,8))是取数组的下界索引,应该是0 option base如果是之前设置的,对结果是有影响的。

你这个要求不能实现啊,我用了ParamArray 关键字,用来指定一个 任意元素个数 的数组 共参考: --------- Function shuzu(ParamArray x()) Application.Volatile Dim i, n, m, tmp n = UBound(x) - LBound(x) + 1 If n Mod 2 0 Then tmp = "#Err...

只能传 单元格,然后转数组。如下 Function MyTest(rng As Range) Dim arr() As Variant Set arr = rng.Value MyTest = UBound(arr)End Function

两个都可以,第二个不能引用 单元格区域,每个单元格都是一个参数,需要用逗号分隔 第一个比较接近内置函数SUM' Option ExplicitFunction Ssum(ByVal range As range) As Double Dim rng As range For Each rng In range Ssum = Ssum + rng.Valu...

Ubound(CMinRow)怎么了?你单独把它写出来作为一行,让程序如何执行? 简单试一下,把该行改为debug.print Ubound(CMinRow),看看错误提示符会不会改变。

数组应该是一维的,用此函数,将区域数据转换为一维数据。

您这个定义方法就是正确的,xi() as variant ,或者省略 as variant , 直接用 xi() 就可以为函数传递一个数组做为参数。 将单元格区域复制给数组的方法是先定义一个变体型变量,然后将区域的值复制给这个变量就可以。如: dim ab ab=[a1:c3]

把你需要使用变量名称的数组放到另一个数组里,使用数组中的数组就行了。

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com