2014-09-26 64 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