Excelmacros将数据复制并转移到其他具有特殊条件的工作簿

macros观上我还是个新手。 我在第一个工作簿中有一列中有300行数据的数据。我需要在其他工作簿中将每6行数据转置为6列。 例如,来自A1:A6的数据必须转换为A1:F1。 A7:A14的数据也必须转换为A2:F2。

我有这个代码。 数据保存在vDB中

Dim vDB vDB = rsData.getRows TargetRange.Cells(1, 1).Resize(UBound(vDB, 1) + 1, UBound(vDB, 2) + 1) = vDB 

有了这个代码,我可以复制和转置数据到其他工作簿。 但它只能从一列到一行。 我无法find每6行6列的方式。 有没有办法将上面的代码每6行转换为6列? 我感谢您的帮助。

不需要GetRows 。 得到你的RecordSet rsData ,使用下面的代码:

 Dim i As Long Do Until rsData.EOF targetRange.Cells(1 + Int(i / 6), 1 + i Mod 6).value = rsData.Fields(0).value i = i + 1 rsData.MoveNext Loop