复制列和粘贴到不同的工作表中,从第15行开始,然后每隔第87行

时间:2019-05-22 19:59:15

标签: excel vba

我试图复制一列(表2,范围(“ A6:A70”),然后粘贴到工作表1中。我希望工作表2 A6中的值粘贴到工作表1 A15中,然后粘贴工作表2 A7中的值在A 15下方粘贴87行,依此类推,将工作表1中每第87个单元格粘贴整个列(Sheet 2,A6:A70)。

我尝试了不同的.offset命令和

ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row + 1

但是我需要循环做的是

从A15开始并粘贴第一个值

那么也许:

读取上次粘贴的位置,向下移动87行,粘贴下一个值,等等...

Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim c As Range

Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")

copySheet.Range("A6:A70").Copy

pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(87, 0).PasteSpecial xlPasteValues

实际结果什么都没有-我不确定应该使用什么代码。

1 个答案:

答案 0 :(得分:1)

未经测试,但也许是这样的:

Dim copySheet As Worksheet
Dim pasteSheet As Worksheet

Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")

Dim i as Long
For i = 0 to 64
    pasteSheet.Range("A15").Offset(i * 87).Value = copySheet.Range("A6").Offset(i).Value
Next i

编辑:

如果您要处理pasteSheet中的合并单元格,请尝试

pasteSheet.Cells(15 + i*87, 1).Value = copySheet.Range("A6").Offset(i).Value