Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用粘贴将单元格值按特定条件从一张图纸复制到另一张图纸_Vba_Excel - Fatal编程技术网

Vba 使用粘贴将单元格值按特定条件从一张图纸复制到另一张图纸

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

您好,我正在尝试创建一个宏,该宏将从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) => 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,我不明白你的意思,为什么不工作?文件中没有指定正确的工作表,现在一切正常,谢谢!