关于用宏的复制粘贴,
excel吧
全部回复
仅看楼主
level 3
Sub 宏5()
'
' 宏5 宏
'
'
ActiveCell.Offset(0, 2).Columns("A:AM").EntireColumn.Select
Selection.Delete Shift:=xlToLeft
Worksheets("模板").Range("A1:R1").Copy
ActiveCell.Offset(0, -2).Select
ActiveSheet.Paste
Worksheets("模板").Range("C2:R2").Copy
ActiveCell.Offset(1, 2).Select
ActiveSheet.Paste
Dim i
For i = 2 To Range("A1").CurrentRegion.Rows.Count - 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Next
End Sub
这是我自己编的垃圾复制粘贴宏麻烦大佬们帮我看看,为什么运行宏后是一条一条复制过来的 他不能和书上举得例子一样1秒运行完全部复制好吗
2018年09月19日 13点09分 1
level 3
我是个小白 刚开始学VBA
2018年09月19日 13点09分 2
level 3
不知道问题在哪里,求大佬指点
2018年09月19日 13点09分 3
level 3
嘤嘤嘤
2018年09月19日 13点09分 4
level 10
就这个问题,我查了半天资料,paste方法是这么小结的:
1.Paste方法,即"选择性粘贴"对话框中的"全部粘贴"或"粘贴链接"
2.Paste方法的优势(特色),是"粘贴链接"."全部粘贴"一般不用Paste方法(因为直接copy至目标区域即可)
除非我们用粘贴链接功能,一般不会用.Paste方法
2018年09月20日 00点09分 5
谢谢大佬,我以为他只是粘贴而已,原来是这样
2018年09月20日 06点09分
level 10
楼主的这一句:
For i = 2 To Range("A1").CurrentRegion.Rows.Count - 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Next
这里没有指定复制对象,那么上一句Worksheets("模板").Range("C2:R2").Copy命令复制C2:R2区域到了剪切板。当前活动单元格往下偏移一格后选择,然后粘贴到当前工作表,粘贴次数等于A1单元格附近区域所在行的行标-2。
这一句通过循环完成有限次的重复粘贴而已。
2018年09月20日 00点09分 7
对,我想做的就是把c2:r2向下填充(里面含有公式),直到A列结束,有好多工作表,A列的长度不一样,不知道该怎么用代码实现这个操作,其实手动就是用填充柄直接下拉
2018年09月20日 06点09分
@💕恍如一▫梦🍒 或许需要选择性粘贴,公式 .PasteSpecial试试
2018年09月20日 07点09分
@秦時明月漢時圓 谢谢大佬,明天试试
2018年09月20日 14点09分
1