我正在尝试构建到我的电子表格中的功能是'复制选定范围并过去到新范围然后每次运行宏时它将执行相同的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
非常感谢任何帮助。
由于
加里
答案 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:J27
和Sub 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技巧确定,用于确定包含数据的列中最后一行的行号。