VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿

一、新建工作簿

1、新建臨時工作簿

Workbooks.Add

ActiveWorkbook.SaveAs "c:\123.xlsx"

2、使用變量新建工作簿

Dim Wb As Workbook

Set Wb = Workbooks.Add

Wb.SaveAs Filename:="c:\123.xlsx"

兩個代碼都可以新建一個名稱為123.xlsx的工作簿,並保存在C盤。

代碼2使用變量,將工作簿賦值給Wb變量,更加靈活。

新建工作簿後,該工作簿就成為了當前活動工作簿,然後保存工作簿的時候,

需要選擇路徑保存在那裡,但工作簿並沒有關閉,需要手工關閉。

Filename:="c:\123.xlsx" 中的Filename:=可以省略。

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿


二、SaveAs方法

新建工作簿的時候,需要保存工作簿,一般使用SaveAs方法。

該方法的官方文檔為下列鏈接:

https://msdn.microsoft.com/zh-cn/VBA/Excel-VBA/articles/workbook-saveas-method-excel

SaveAs方法相當於我們保存工作簿的操作,在官方說明中可以看到,其後面的參數都可以省略,省略參數的一些示例如下:(建議寫全路徑)

ActiveWorkbook.SaveAs ‘默認路徑下保存工作簿,自動重命名

ActiveWorkbook.SaveAs "新建" ‘默認路徑下保存工作簿,並命名為“新建”

ActiveWorkbook.SaveAs "D:\新建.xlsx" ‘在D盤下保存工作簿,並命名為“新建”

SaveAs保存對工作簿所做的更改。

所以在關閉工作簿的時候,並沒有彈出提示常見的保存更改提示(類似下圖)。

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿

保存工作簿更改的另一個方法是:Workbook.Save,也就是常見的保存操作。

當然在新建工作簿的時候也可以使用,但不指定路徑,需另外指定。

下面Gif:在C盤新建一個名稱為“456.xlsx”工作簿,並在該工作簿的sheet1工作簿的單元格A1輸入“套路Excel”。

注意,SaveAs方法保存了工作簿更改,但該程序並沒有關閉工作簿。在最後手工關閉工作簿的時候,

並沒有是否保存工作簿更改,可以看出SaveAs是保存了工作簿的更改的。

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿


三、什麼是路徑?

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿

如圖:路徑就是類似 C:\Users\Public的地址, 注意是 \ 不是 / 。

在新建工作簿的時候,指定路徑保存工作簿,必須確保路徑存在,否則出錯。

如保存路徑為: "c:\123\456.xlsx" ,C盤肯定是存在的,但名稱為“123的文件名如果不存在,就會出錯。

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿


四、工作簿的複製和刪除

複製工作簿:從一個路徑複製到另外一個路徑(路徑必須存在)

'複製C盤456.xlsx文件到C盤789文件夾裡面,並重命名為123.xlsx。

FileCopy "c:\456.xlsx", "c:\789\123.xlsx"

Kill "c:\123.xlsx" '刪除文件


五、練習:拆分表格為工作簿

在文章 :

我們練習過拆分表格為工作表的練習,現在改為按產品拆分表格為新的工作簿。

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿

參考代碼:(大部分代碼相同,將保存為工作表的代碼修改為保存為工作簿的代碼即可)

VBA簡單入門23:操作(新建、保存、複製、刪除、拆分)工作簿

涉及到工作簿的操作為:

新建工作簿--導入拆分的表格數據--保存工作簿到指定路徑--關閉工作簿。

紅色方框內的代碼完成了上述的操作。

sname = .Range("g" & i) & ".xlsx" '工作簿名稱為產品名稱

Set wb = Workbooks.Add '新建工作簿

Rng1.Copy wb.Sheets("sheet1").[a1] '導入拆分的數據

wb.SaveAs "c:\123" & sname '保存工作簿在C盤的123文件夾裡

wb.Close '關閉工作簿(SaveAs已保存工作簿更改)

Excel文件下載請移步到 下載。



分享到:


相關文章: