对于Excel中的模型,我想将数据从工作簿中的一张工作表复制并粘贴到工作簿中的另一张工作表,并使用for next循环使用此数据。来自工作文件CME的数据应粘贴到RME的工作文件中。数据的总行数为2420。但是,由于两个不同工作簿中的范围不同且步长也不同,因此我假设我应该使用两个不同的变量。当我尝试运行此代码时,它将给我一个错误。代码的第一个示例说明了如何手动执行而没有循环。此后,循环开始。非常感谢能够帮助我解决此问题的人
我想出了以下公式:
Dim i As Long
Dim j As Long
Worksheets("CME").Range("J2:J10").Copy
Worksheets("RME").Range("B2").PasteSpecial Transpose:=True
Worksheets("CME").Range("J12:J20").Copy
Worksheets("RME").Range("B3").PasteSpecial Transpose:=True
For i = 11 To 2420 Step 10
Worksheets("CME").Range (Cells(i + 11, 10)), Cells(i + 19, 10).Copy
For j = 3 To 2420 Step 1
Worksheets("RME").Range(Cells(j + 1, 2)).PasteSpecial Transpose:=True
Next j
Next i
End Sub
答案 0 :(得分:0)
我不知道您的问题是否对,但是以下代码将CME中从A1开始的范围转置为RME中从A1开始的转置范围,无论其大小如何。
Sub Transpose()
Dim Table As Range
Set Table = Worksheets("CME").Range("A1", Range("A1").End(xlDown).End(xlToRight))
For Each Cell In Table
RowNo = Cell.Row
ColNo = Cell.Column
Worksheets("RME").Cells(ColNo, RowNo).Value = Cell.Value
Next
End Sub