llgd.net
当前位置:首页 >> vBA 定义数组 >>

vBA 定义数组

aaa=array(1,6,8,18,19,20,25,62,63,64) for i=0 to ubound(aaa) msgbox(aaa(i)) next

Sub test() Dim a(0 To 5) '//定义一个一维数组,下标从0到5共6个元素 Dim b() '//定义一个动态数组,数组维度与元素不确定,一般需要通过redim重新定义数组大小才能给其赋值 Dim c(1 To 5, 2 To 3) '//定义一个二维数组End Sub

先用 dim union() 定义一个空数组 确定里面内容多少后再用 redim union(**,**)指定

VBA中动态定义一个二维数组,案例代码如下: //定义动态数组ttSub tt()Dim a() As IntegerReDim a(1 To 2, 1 To 1) As Integera(1, 1) = 10i = 10ReDim Preserve a(1 To 2, 1 To i) As IntegerMsgBox a(1, 1)End Sub

这样写: arr = [{"饮料", "2101", "2501"; "食品", "2102", "2601"; "蔬菜", "2103", "2701"}]

Dim a(5) As Integer'长度为 5 的整型一维数组Dim b(5, 5) As Integer'长度为 5×5 的整型二维数组

可以的,arr只是一个命名而已 否则你定义2个数组怎么办

在vba中是无法实现的。 一个数组被定义的时候已经指明了其类型,你无法使用不同的类型 唯一能够用来变通的就是将这些不同的数据类型打包为一个新的数据对象或者结构体 然后将数组声明为这个新的数据对象或者结构体的类型

EXCEL表的单元格区域是一个二维数组 dim arr arr=Sheet3.Range("D7:D9") '这时的arr得到的是二维数组 '你要转换成1维数组,先声明一个动态数组再重定义为1维数组 dim brr() redim brr(1 to ubound(arr)) '再重新将二维转一维 for i = 1 to uboun...

数组赋值不能直接这样用 等于 某个单元格区域……要通过循环语句逐个赋值……考虑修改如下: Dim aa() As Double ReDim arr(1 To 1036) For i = 1 To 1036 arr(i) = Cells(i, 8) Next Stop 由于你使用了 动态数组 所以在赋值前 必须给它一个重新设置...

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