复制并粘贴范围到新目的地

时间:2018-01-03 13:31:14

标签: excel vba excel-vba

我正在尝试构建到我的电子表格中的功能是'复制选定范围并过去到新范围然后每次运行宏时它将执行相同的copy.paste.range到新范围但是粘贴目标将跟随来自之前的粘贴值。该函数是每周收集统计信息,宏将自动化日期收集。

我有初步步骤,但它的粘贴公式而不仅仅是值。我已经添加了粘贴特殊功能,但它现在根本不起作用。粘贴之后,我正在寻找下一个副本并粘贴到粘贴到D21:J27的数据中,例如D28:J34(可能偏移?)

Sub CopyPaste_Weeklys()
Sheets("MI Build").Range("D7:J13").Copy
Sheets("MI Build").Activate
Range("D21:J27").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNoneActiveSheet.Paste
Application.CutCopyMode = False
End Sub

非常感谢任何帮助。

由于

加里

1 个答案:

答案 0 :(得分:0)

如果你想要做的只是将D21:J27中的值复制到Sub CopyPaste_Weeklys() Sheets("MI Build").Range("D21:J27").Value = Sheets("MI Build").Range("D7:J13").Value End Sub ,那么整个子广告可以替换为:

Value

在VBA中,应该为需要复制公式和格式等内容的情况保留复制/粘贴。对于值,最好只使用相应范围的D7:J13属性。

据推测,范围并非始终为D21:J27Sub CopyPaste_Weeklys() Dim i As Long Dim target As Range With Sheets("MI Build") i = .Cells(.Rows.Count, "D").End(xlUp).Row + 1 Set target = Range(.Cells(i, "D"), .Cells(i + 6, "J")) target.Value = .Range("D7:J13").Value End With End Sub ,但您的问题并未提供有关如何确定范围的信息。上面的固定范围可以由可以在运行时设置的范围变量替换。以下几行:

i

变量{{1}}由标准Excel VBA技巧确定,用于确定包含数据的列中最后一行的行号。