首页 > 解决方案 > 将数组插入 listobjects().listcolums().databodyrange

问题描述

在 Excel 表之间传输数据的一种快速方法是通过循环遍历源表将数据读入数组,然后在一个命令中将它们插入到目标表中。这适用于表 databodyrange;listobjects().databodyrange = aTransfer。但是当尝试对列表列做同样的事情时;listobjects().listcolumns().databodyrange = aTransfer,列中的第一个数字向下重复到列尾。

此示例演示了这一点:在表之间传输数据

有没有办法解决这个问题?

标签: arraysexcelvba

解决方案


您需要使用 Application 对象的 Transpose 方法将一维水平数组转置为垂直数组。这是一个例子......

Worksheets("Sheet1").ListObjects("Table1").ListColumns(1).DataBodyRange.Value = application.transpose(aTransfer)

推荐阅读