ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: fsydw

[求助] 大师你好!用什么代码判断数组arr()是否存在?谢谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-4-28 09:26 | 显示全部楼层
非多列的二维数组,转置后就是一维数组了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-28 09:32 | 显示全部楼层
原帖由 alzeng 于 2010-4-28 09:26 发表
非多列的二维数组,转置后就是一维数组了。

大师你好!
我的arr3是一个动态数组,有一行数组(一维)的情况少,二行以上(二维)的情况多。怎么办呢?谢谢!

TA的精华主题

TA的得分主题

发表于 2010-4-28 09:38 | 显示全部楼层
arr3一定要二维数组的话,在arr2取值的时候就应该取多取一行,比方:arr2=Range("A1",[C65536].end(3)(2)),这样不管有效数据大不大于一行,转置后的arr3数组就是二维的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-28 09:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 alzeng 于 2010-4-28 09:38 发表
arr3一定要二维数组的话,在arr2取值的时候就应该取多取一行,比方:arr2=Range("A1",[C65536].end(3)(2)),这样不管有效数据大不大于一行,转置后的arr3数组就是二维的。

谢谢大师赐教!
我的arr2也是动态生成的,用什么代码直接向arr3添加一行数据(例如“-,-,-”)。谢谢!

TA的精华主题

TA的得分主题

发表于 2010-4-28 09:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请查阅Redim Preseve 的用法。
其实如果你有完整的实例文件,这很容易解决,我也不知道你为什么要先生成arr2再转置成arr3,可以一次完成。

[ 本帖最后由 alzeng 于 2010-4-28 10:34 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-28 10:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 alzeng 于 2010-4-28 09:55 发表
请查阅Redim Preseve 的用法。
其实如果你有完整的救命文件,这很容易解决,我也不知道你为什么要先生成arr2再转置成arr3,可以一次完成。

大师你好!arr3确实没必要!谢谢!
1、我先: ReDim Preserve arr2(1 To 3, 1 To ii)。但是,有时从arr1找到满足条件的记录只有一条,所以新生成的arr2还是一维。
2、用什么代码在生成arr2后,再向arr2中添加一条记录,这样会变成二维吧?

TA的精华主题

TA的得分主题

发表于 2010-4-28 10:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
取值完成后,再加上一句:
ReDim Preserve arr2(1 To 3, 1 To ii + 1)
这样就能保证生成的数组是二维。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-28 10:59 | 显示全部楼层
原帖由 alzeng 于 2010-4-28 10:36 发表
取值完成后,再加上一句:
ReDim Preserve arr2(1 To 3, 1 To ii + 1)
这样就能保证生成的数组是二维。

您的代码老好使了!神通广大啊!谢谢大师!!!

TA的精华主题

TA的得分主题

发表于 2010-5-13 11:54 | 显示全部楼层
这么简单弄这么些多页!晕
MsgBox IsArray(arr)
MsgBox IsEmpty(arr)

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-13 13:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 Zamyi 于 2010-5-13 11:54 发表
这么简单弄这么些多页!晕
MsgBox IsArray(arr)
MsgBox IsEmpty(arr)

大师你好!
1、以前见过你回过的贴:“二维数组,删除其它一条记录比较麻烦,建议生成一个新的数组。”
2、cflood 大师也说,没有直接删除二维数组的代码。
3、现在有了2007版、2010版,这个问题仍没有更好的办法吗?
谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 02:24 , Processed in 0.042200 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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