首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VBA将二维数组卸载到excel工作表的最快方法是什么?

使用VBA将二维数组卸载到excel工作表的最快方法是什么?
EN

Stack Overflow用户
提问于 2016-06-02 22:29:53
回答 1查看 1.5K关注 0票数 2

我有一个运行时间很长的例程,因为有一个大循环,它会在工作表中逐单元格写入值。我想我会很聪明,首先将所有东西加载到2D数组中,然后迅速将其转储到excel表中。目标是加快速度。发现我不能随心所欲。

代码语言:javascript
复制
  xlsheet.Range("C2") = MASTER_OUT

发现上面的方法不起作用。MASTER_OUT是一个具有34 cols和各种行的2D数组。我希望我不必循环遍历数组并将数据单元格逐个放在工作表中,因为这样做不会节省任何时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 22:34:28

.Resize的目的地与UBound函数

代码语言:javascript
复制
xlsheet.Range("C2").Resize(UBound(MASTER_OUT, 1), UBound(MASTER_OUT, 2)) = MASTER_OUT

增编:

翻转行和列是很常见的。如果是这样的话,那么就使用Excel应用对象转置函数,并翻转弯道的等级。

代码语言:javascript
复制
xlsheet.Range("C2").Resize(UBound(MASTER_OUT, 2), UBound(MASTER_OUT, 1)) = _
   Application.Transpose(MASTER_OUT)

请注意,转座子有限制。我认为它在无符号整数的最大值(例如65,536 (.?)

参见数据文件中Excel中的Error13获得可靠的2D转置辅助函数,不受限制。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37603174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档