我正在尝试使用VBA For循环将数据从一张纸复制到另一张纸。由于某种原因,当我执行以下代码时,数据不会被复制到彼此下面的一列中,而是以一种奇怪的格式复制,如下所示。
Sub Macro2()
For i = 110 To 116
For j = 1 To 1
Worksheets("overview of contracts").Activate
Range("A" & i).Select
Selection.Copy
Worksheets("Sheet1").Activate
ActiveCell.Offset(1, 0).Range("C" & j).Select
ActiveSheet.Paste
'Worksheets("overview of contracts").Activate
'Range("B" & i).Select
'Selection.Copy
'ActiveCell.Offset(1, 0).Range("D" & j).Select
'ActiveSheet.Paste
'Range("C" & i).Select
'Selection.Copy
'ActiveCell.Offset(1, 0).Range("E" & j).Select
'ActiveSheet.Paste
Next j
Next i
End Sub
结果:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8zR21kYi5wbmcifQ==” alt =“在此处输入图像描述”>
这是原始数据,我要实现的目标是使用完全符合该格式和顺序的循环将数据复制到另一张纸上。Sample Data
由于某些原因,当我执行以下代码时,数据无法复制到一列下]
如果不循环遍历j,它会被复制到一列中(如上所述):
For i = 110 To 116
Worksheets("overview of contracts").Activate
Range("A" & i).Select
Selection.Copy
Worksheets("Sheet1").Activate
ActiveCell.Range("A" & i).Select
ActiveSheet.Paste
Next i
我认为这就是您想要的。它获取sheet("overview of contacts")
中的值,并将其值复制到C列的sheet("Sheet1")
中,降序行。
Sub Macro3()
Dim i As Long
Dim j As Long
j = 2
For i = 110 To 116
Worksheets("Sheet1").Cells(j, 3).Value = Worksheets("Overview of Contracts").Cells(i, 1).Value
j = j + 1
Next i
End Sub