2014-09-26 107 views
2

我想写一个简单的复制和粘贴宏,它的工作,直到最后一行。当它碰到最后一行时,它说粘贴功能将不起作用。我真的很困惑,为什么会发生这种情况,任何帮助都将不胜感激。VBA复制和粘贴方法不工作

Sheet2.Columns("A:B").Insert Shift:=xlToRight 
Sheet2.Columns("F:G").Cut 
Sheet2.Activate 
Columns("A:B").Select 
ActiveSheet.Paste 
Sheets("SourceData").Columns("A:B").Insert Shift:=xlToRight 
Sheets("SourceData").Activate 
Columns("A:B").Select 
ActiveSheet.Paste     <-LINE THAT THROWS ERROR 

我的错误信息是Paste Method of Worksheet Class failed

+0

什么是实际的错误信息? – Tak 2014-09-26 17:47:32

+0

'Paste Method of Worksheet Class failed' – 2014-09-26 17:51:40

+1

你没有什么可以粘贴的东西,当你在你的源数据表中插入你的列时,你会失去你的选择(剪掉列F:G) – Sorceri 2014-09-26 17:53:18

回答

2

你需要的第二剪切(或复制)命令去与

1

您收到的错误,因为你已经清空了你的第二个Activesheet.Paste命令第一个“剪切/粘贴”操作的剪贴板。

试试这个:

Sheet2.Columns("A:B").Insert Shift:=xlToRight 
Sheet2.Columns("F:G").Cut 
Sheet2.Activate 
Columns("A:B").Select 
ActiveSheet.Paste 
Activesheet.Columns("A:B").Copy 

Sheets("SourceData").Columns("A:B").Insert Shift:=xlToRight 
Sheets("SourceData").Activate 
Columns("A:B").Select 
ActiveSheet.Paste