Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1971|回复: 0

跟着校长学VBA之第20集:VBA数组1

[复制链接]
发表于 2013-1-13 20:44 | 显示全部楼层 |阅读模式
一、数组概念
1、VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组.
   
2、VBA数组存在形态
      VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。
           
1) 常量数组
  1.     Dim arr1, arr2
  2.     arr1 = Array(1, 2)
  3.     arr2 = Array(Array(1, 2, 4), Array("a", "b", "c"))
复制代码
2) 静态数组
  1.     Dim x(4)  '有5个位置,编号从0~4
  2.     Dim arr1(1 To 10)    '有10个位置,编号1~10
  3.     Dim arr2(1 To 10, 1 To 2)    '10行2列的空间,总共20个位置,这是二维数组
  4.     Dim arr3(1 To 10, 1 To 2, 1 To 3)    '三维数组,总10*2*3=60个位置。这是三维数组
复制代码
3)动态数组
  1.     Dim arr()    '不知道有多少行多少列
复制代码
二、如何写入数组
1.按编号写入和读取
  1. Sub t1()    '写入一维数组
  2.     Dim x As Integer
  3.     Dim arr(1 To 10)
  4.     arr(2) = 190
  5.     arr(10) = 5
  6. End Sub

  7. Sub t2()    '向二维数组写入数据和读取
  8.     Dim x As Integer, y As Integer
  9.     Dim arr(1 To 5, 1 To 4)
  10.     For x = 1 To 5
  11.         For y = 1 To 4
  12.             arr(x, y) = Cells(x, y)
  13.         Next y
  14.     Next x
  15.     MsgBox arr(3, 1)
  16. End Sub
复制代码
2.动态数组
  1. Sub t3()
  2.     Dim arr()
  3.     Dim row
  4.     row = Sheets("sheet2").Range("a65536").End(xlUp).row - 1
  5.     ReDim arr(1 To row)
  6.     For x = 1 To row
  7.         arr(x) = Cells(x, 1)
  8.     Next x
  9.     Stop
  10. End Sub
复制代码
3.批量写入
  1. Sub t4()    '由常量数组导入
  2.     Dim arr
  3.     arr = Array(1, 2, 3, "a")
  4.     Stop
  5. End Sub

  6. Sub t5()    '由单元格区域导入
  7.     Dim arr
  8.     arr = Range("a1:d5")
  9.     Stop
  10. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-9-20 10:12 , Processed in 0.213353 second(s), 3 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表