文件名称:其他创建数组的几种方式-cmake 完整入门教程
文件大小:1.72MB
文件格式:PDF
更新时间:2024-06-30 06:26:05
Excel-VBA 编程教程
三、动态数组 声明一个数组,必须指定数组的大小,即它是几维数组,有多少个元素。 但有些时候,我们在定义数组的时候,并不能确定数组的大小,这时,我们在首次定义 数组的时候括号内为空(当然先指定一个大小也是可以的,但纯属是多余),在程序过程中用 Redim 语句去重新指定数组的大小,这就是动态数组。 比如一个工作表的 A 列存储了学生姓名,现在我们需要把把有姓‚张‛的学生存储在数 组 arr 中,预先我们并不知道 A 列姓张的学生有三十个还是五十个,所以,我们在定义时代 码可以这样: 代码: Sub ggsmart() Dim i%, xrow%, j%, xcount% Dim arr() As String xrow = [a65536].End(3).Row '最后一个非空单元格行号 j = 1 '数组索引号 xcount= Application.WorksheetFunction.CountIf([a1:a65536], "张*") '统计有多 少姓张的学生 ReDim arr(1 To xcount) '重新定义数组大小,元素共有 xcount 个 For i = 1 To xrow If Left(Cells(i, 1).Value, 1) = "张" Then arr(j) = Cells(i, 1).Value '给数组元素赋值 j = j + 1 '索引号加 1 End If Next i [b1:b65536].Clear '清除原有数据 [b1].Resize(xcount,1)=Application.WorksheetFunction.Transpose(arr) '将数组输入单 元格区域 End Sub 姓‚张‛的学生.rar (7.16 KB) 姓‚张‛的学生.rar (7.16 KB) 四、其他创建数组的几种方式 其实在上面,我们已经接触了如何创建数组了。无非就是像给学生排座位一样,你坐第 一排,我坐第二排,他坐第三排,然后你们大家统称为第一组。 好简单,这里,我再介绍几种上面没讲到,但常见的方法: 1、使用 Array 创建数组 看以下代码: 代码: Sub ggsmart() Dim arr() arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) '将 1 到 10 十个自然数赋给数组 arr [a1].Resize(1, 10) = arr '将数组的值输入单元格 End Sub 这里使用 Array 函数将 1 到 10 的自然数赋给数组 arr 这里,我就不上传附件了,大家 将代码复制到模块里查看效果。 引用: