Excel精英培训网

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

[已解决]这个简单的数组的VBA代码怎么实现赋值的

[复制链接]
发表于 2011-11-30 17:53 | 显示全部楼层 |阅读模式
5学分
Sub 数组赋值()
    arr = [row(1:10000)]
    Range("A1").Resize(10000, 1) = arr
End Sub

运行结果就是第一列的第一行,依次加一,可是没有赋值语句啊,为什么,A1是1 ,B1 是2了呢

最佳答案
2011-12-1 15:39
[row(1:10000)]与你在单元格中输入数组公式row(1:10000)一样,返回一个数组了(具体可以去爬格子试试看),通过=就将该数组赋给了数组变量arr
    Range("A1").Resize(10000, 1) = arr这当然就是将数组写到单元格区域中了

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-11-30 20:08 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-12-1 10:18 | 显示全部楼层
还是没有解释清楚,那位大侠帮帮忙
回复

使用道具 举报

发表于 2011-12-1 14:02 | 显示全部楼层
呵呵 你把 行号 赋给arr  了  肯定返回的是 行号啦  
回复

使用道具 举报

发表于 2011-12-1 15:39 | 显示全部楼层    本楼为最佳答案   
[row(1:10000)]与你在单元格中输入数组公式row(1:10000)一样,返回一个数组了(具体可以去爬格子试试看),通过=就将该数组赋给了数组变量arr
    Range("A1").Resize(10000, 1) = arr这当然就是将数组写到单元格区域中了
回复

使用道具 举报

发表于 2011-12-1 16:12 | 显示全部楼层
是问题没说 清楚
回复

使用道具 举报

 楼主| 发表于 2011-12-2 11:05 | 显示全部楼层
arr = [row(1:10000)] 是把1到10000行的行号付给arr吧? 所以arr就是一个一维数组了,对吧
回复

使用道具 举报

发表于 2011-12-2 11:48 | 显示全部楼层
是。但 [row(1:10000)] 返回的是二维数组,所以arr就是一个二维数组了,而不是一维
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 09:15 , Processed in 0.308915 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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