我试图复制一列(表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
实际结果什么都没有-我不确定应该使用什么代码。
答案 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