乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: Keith™

ReDim阵列???

[复制链接]

0

主题

13

帖子

7

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-11-17 11:53:14 | 显示全部楼层
晚了一天,少了一分钱&nbsp 
回复

使用道具 举报

0

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
9
发表于 2006-11-18 00:09:17 | 显示全部楼层
每当我想增加数组的两个维度时,我经常使用的一个技巧是创建一个方法)将是创建一个数组……我知道这听起来有点疯狂,但如果你考虑处理数组的方式,这个概念是完全相同的,只是你必须修改变量有点不同
考虑以下代码
  1. Sub VarTest()
  2. Dim Var1() As Variant
  3. Dim VarA() As Variant
  4. Dim VarB() As Variant
  5. Dim X, Y As Integer
  6. ReDim Preserve VarB(3)
  7. For X = 0 To UBound(VarB)
  8.     ReDim Preserve Var1(3)
  9.     For Y = 0 To UBound(Var1)
  10.         Var1(Y) = X & "," & Y
  11.     Next Y
  12.     VarB(X) = Var1
  13. Next X
  14. MsgBox GetMDimArray(VarB, 3, 2)
  15. VarB = SetMDimArray(VarB, 3, 2, "This Is A Test")
  16. MsgBox GetMDimArray(VarB, 3, 2)
  17. End Sub
  18. Function GetMDimArray(ByRef MyArray As Variant, X As Integer, Y As Integer) As Variant
  19.   GetMDimArray = MyArray(X)(Y)
  20. End Function
  21. Function SetMDimArray(ByRef MArray As Variant, X As Integer, Y As Integer, NewValue As Variant) As Variant
  22.   MArray(X)(Y) = NewValue
  23.   SetMDimArray = MArray
  24. End Function
正如你所见,实际上有一个数组被放置在主数组中,因此你可以通过事后使用多个维度来轻松访问数组的深度,即MyArray(X)(Y)。可以想象,您应该能够添加第三维或第四维,使其成为MyArray(W)(X)(Y)(Z)
这张图片应该澄清这个想法。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 01:21 , Processed in 1.920351 second(s), 55 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表