2016-09-21 101 views
0

可以說我想在某個位置創建5個工作簿。我試圖使用此代碼,但它不起作用。 (運行時錯誤,自動化錯誤),它有什麼問題?在某些文件夾位置創建多個工作簿

Sub blabal() 

Dim wbk As Workbook 
Dim i As Integer 
i = 1 
Set wbk = Workbook.Add 

Do Until i = 5 
    wbk.SaveAs "C:\Users\User1\Desktop\abc\" & i 
    wbk.Close 
    i = i + 1 
Loop 

End Sub 
+1

添加行'設置WBK = Workbook.Add'的'Do'循環內,如第一行,前'wbk.SaveAs「C:\用戶\ User1的\ Desktop \ abc \「&i' –

+1

應該是Workbook ** s **'Set wbk = Workbooks.Add'並確保路徑'」C:\ Users \ User1 \ Desktop \ abc \「存在 – Slai

+0

path was was好。因爲@Slai說最大的問題是「s」:)感謝你們的幫助。 – Pawel

回答

2

Set wbk = Workbooks.Add

你需要指定Workbooks,而不是Workbook

Workbooks是一個集合對象。您正在將Workbook添加到Workbooks的集合中。

您還需要更改代碼的順序,因此您不是每次都不關閉工作簿,或者關閉工作簿,但是然後添加新的工作簿(不會真的很有道理,但我會展示一個例子)。

Set wbk = Workbooks.Add 

Do Until i = 5 
    wbk.SaveAs "C:\Users\User1\Desktop\abc\" & i 
    i = i + 1 
Loop 

或者

Do Until i = 5 
    Set wbk = Workbooks.Add 
    wbk.SaveAs "F:\" & i 
    wbk.Close 
    i = i + 1 
Loop