Excel精英培训网

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

[已解决]关于动态二维数组的疑问

[复制链接]
发表于 2022-8-15 10:58 | 显示全部楼层 |阅读模式
  1. <div>
  2. </div><div>Sub dataToactionlist()
  3. </div>    Dim arr1()
  4.     Dim x, i, j As Integer                 
  5.     Sheets("project").Select
  6.     x = Range("J65536").End(xlUp).Row   
  7.     j = 1
  8.     For i = 1 To x  
  9.         ReDim Preserve arr1(1 To j, 1 To 6)
  10.             If Cells(i + 3, 10) = "High" Or Cells(i + 3, 10) = "Key" Or Cells(i + 3, 10) = "联络/跟踪" Then
  11.                 arr1(j, 1) = Cells(i + 3, 3).Text
  12.                 arr1(j, 2) = Cells(i + 3, 9).Text
  13.                 arr1(j, 3) = Cells(i + 3, 10).Text
  14.                 arr1(j, 4) = Cells(i + 3, 11).Text
  15.                 arr1(j, 5) = Cells(i + 3, 12).Text
  16.                 arr1(j, 6) = Cells(i + 3, 13).Text
  17.                 j = j + 1
  18.             End If
  19.     Next i
  20. End Sub
复制代码
老师们好,在我定义一个动态二维数组,已知使用到的列为6列,但是行我希望满足条件才加进去,代码运行时ReDim Preserve arr1(1 To j, 1 To 6)报错,我该怎么样去定义这个已知为6列的数组二维数组呢?

最佳答案
2022-8-15 11:10
本帖最后由 我行我速2008 于 2022-8-17 11:08 编辑

ReDim Preserve 时变量只能出现于数组的最后一维。
不能:
ReDim Preserve arr1(1 To j, 1 To 6)
只能ReDim Preserve arr1(1 To 6, 1 To j)
发表于 2022-8-15 11:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 我行我速2008 于 2022-8-17 11:08 编辑

ReDim Preserve 时变量只能出现于数组的最后一维。
不能:
ReDim Preserve arr1(1 To j, 1 To 6)
只能ReDim Preserve arr1(1 To 6, 1 To j)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 01:57 , Processed in 0.357068 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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