2016-08-30 157 views
1

我想將Excel工作表複製到另一個Excel工作簿。這通常不會太難,除非我將工作表移動到使用變量保存的工作簿中。將Excel工作表移動或複製到另一個工作簿(目標工作簿使用變量命名)

這裏有點我的代碼:

Sheets.Add After:=Sheets(Sheets.Count) 
ActiveCell.FormulaR1C1 = "a" 
Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName) 

「政策搜索」將永遠被命名爲相同的,這就是我想移動的工作簿。但是,我試圖將其移動到使用變量「fname」動態保存的文件以及表名「SheetName」。

每次我嘗試運行這段代碼時,我都會收到下標超出範圍的錯誤。有想法該怎麼解決這個嗎?

謝謝!

+1

fname是字符串變量還是工作簿變量? –

+0

字符串變量。我應該將其更改爲工作簿嗎? –

+0

表單「策略搜索」是否存在? 'fname'引用的工作簿是否存在並打開?該工作簿是否包含由變量「SheetName」引用的工作表? (或者是一個拼寫錯誤,是爲了「SheetName」?) – YowE3K

回答

0

試試這個:

Sub MoveSheet() 
    Sheets("Policy Search").Select 
    Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName) 
End Sub 

它假定 「政策搜索」 是活動工作表。

+0

這實際上是我之前寫的。仍然有相同的錯誤。謝謝你。 –