Vba 使用粘贴将单元格值按特定条件从一张图纸复制到另一张图纸
您好,我正在尝试创建一个宏,该宏将从A1到A2复制Sheet1中的所有200个值,并将它们粘贴到Sheet2中,但粘贴操作应在2列和3行空间中以不同方式粘贴它们,例如Vba 使用粘贴将单元格值按特定条件从一张图纸复制到另一张图纸,vba,excel,Vba,Excel,您好,我正在尝试创建一个宏,该宏将从A1到A2复制Sheet1中的所有200个值,并将它们粘贴到Sheet2中,但粘贴操作应在2列和3行空间中以不同方式粘贴它们,例如 Sheet1(A1) => Sheet2(A1) Sheet1(A2) => Sheet2(B1) Sheet1(A3) => Sheet2(A5) Sheet1(A4) => Sheet2(B5) Sheet1(A5) => Sheet2(A9) Sheet1(A6) => She
Sheet1(A1) => Sheet2(A1)
Sheet1(A2) => Sheet2(B1)
Sheet1(A3) => Sheet2(A5)
Sheet1(A4) => Sheet2(B5)
Sheet1(A5) => Sheet2(A9)
Sheet1(A6) => Sheet2(B9)
如您所见,间隔为+3个单元格。
到目前为止,我所做的是复制单个单元格,需要任何帮助或建议如何从上面复制过程
Sub CopySelection()
Dim xlSel As Excel.Range
Set xlSel = Excel.Application.Selection
For i = 0 To 200
xlSel.copy Excel.Application.Sheets("Sheet2").Range("A1")
Next i
End Sub
欢迎提供任何帮助。您可以这样做:
Dim Destination_Row As Integer
Destination_Row = 1
For Origin_Row = 1 To 200 Step 2
Sheet2.Cells(Destination_Row, 1).Value = Sheet1.Cells(Origin_Row, 1).Value
Sheet2.Cells(Destination_Row, 2).Value = Sheet1.Cells(Origin_Row + 1, 1).Value
Destination_Row = Destination_Row + 4
Next
单元格
属性为指定的行
和列
返回一个范围
。
For
循环的每一步都添加2以从Sheet1
获取值,并向Destination\u行添加4以将值粘贴到Sheet2
上。它可以工作,唯一的问题是,如果我将Sheet1中的属性更改为“过去”,它不会粘贴到Sheet2中,但对于Sheet2,我不明白你的意思,为什么不工作?文件中没有指定正确的工作表,现在一切正常,谢谢!