我目前正在寻找一种更有效的方法,通过VBA,将2维数组中的信息传输到Excel工作簿中交错的一组范围内。下面是一个包含代码的示例,我已经将需要的内容提炼出来了,非常感谢您的帮助。
为了简单起见,让我们定义“输入表”为工作簿中的Sheet1,“输出表”为Sheet2:
以下是示例代码:
为了简单起见,让我们定义“输入表”为工作簿中的Sheet1,“输出表”为Sheet2:
以下是示例代码:
Option Explicit
Sub TransferData()
Dim myArray as Variant 'Define the array to hold the data.
Dim i as integer 'Define a generic loop counter variable.
myArray = Sheet1.Range("A1:F7") 'Pulls all the relevant data into the array.
现在,myArray与范围完全相同。(我想发布第三个链接,但我需要先赚取更多的声望)。
我想将数据传输到我的输出文件中,使其看起来像这样:
以下是我目前处理这种情况的方法:
For i = 1 to ubound(myArray)
Sheet2.Cells(i,1) = myArray(i,1)
Sheet2.Cells(i,3) = myArray(i,2)
Sheet2.Cells(i,6) = myArray(i,3)
Sheet2.Cells(i,7) = myArray(i,4)
Sheet2.Cells(i,8) = myArray(i,5)
Sheet2.Cells(i,9) = myArray(i,6)
Next i
End Sub
我的问题是这样的:是否有一种类似于我逐个获取数组范围的方式,将数据从数组传输到交错范围中? 例如,以下内容:
Sheet2.Range("A1:A8") = myArray(1 to 7, 1) 'Note: this is total pseudocode
Sheet2.Range("C1:C8") = myArray(1 to 7, 2) 'Note: this is total pseudocode
我相信我已经自学掌握了相当数量的VBA知识,但我肯定并不是万能的,需要你的帮助。我正在试图通过VBA来最小化对工作表的写入操作,因为这些操作会使计算机负荷很重。
非常感谢您的帮助。
谢谢!
=Sheet1!B1
作为Sheet2单元格C2的公式等,肯定有原因吧。 - mwolfe02Application.ScreenUpdating = False
)。只是不要忘记在错误处理程序和退出例程之前将其打开。 - mwolfe02