各位好,今日我們講VBA代碼的第三十一講,如何新建EXCEL工作薄文件。對於工作薄的解釋,我們在之前的文章中已經講解過,要再複習一下,同時要注意
工作薄和工作表的概念。工作薄是文件,工作表是工作薄的工作頁。在VBA中使用Add方法新建工作簿。一:ADD方法:使用Workbooks對象的Add方法創建新工作簿,其語法為:Workbooks對象.Add(Template)參數Template可選,確定如何創建新工作簿。如果該參數指定的字符串是已有的Excel文件名,那麼使用指定的文件作為模板創建新工作簿。如果該參數指定為xlWBATemplate常量之一,則新工作簿包含單個指定類型的工作表。如果忽略該參數,那麼新工作簿包含標準的空工作表,可以使用SheetsInNewWorkbook屬性設置工作表數。
xlWBATemplate常量為:xlWBATChart,xlWBATExcel4IntlMacroSheet,xlWBATExcel4MacroSheet,xlWBATWorksheet。分別代表圖表工作表、宏工作表以及標準工作表。
二 下面我們來詳細講解一下如何創建工作薄文件,如下面的代碼所示。
Sub MyAddNowbook()
Dim Nowbook As Workbook
Dim ShName As Variant
Dim Arr As Variant
Dim i As Integer
Dim myNewWorkbook As Integer
myNewWorkbook = Application.SheetsInNewWorkbook
ShName = Array("餘額數", "單價數", "數量", "金額數")
Arr = Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")
Application.SheetsInNewWorkbook = 4
Set Nowbook = Workbooks.Add
With Nowbook
For i = 1 To 4
With .Sheets(i)
.Name = ShName(i - 1)
.Range("B1").Resize(1, UBound(Arr) + 1) = Arr
.Range("A2") = "品名"
End With
Next
.SaveAs Filename:=ThisWorkbook.Path & "" & "庫存.xls"
.Close Savechanges:=True
End With
Set Nowbook = Nothing
Application.SheetsInNewWorkbook = myNewWorkbook
End Sub
代碼解析:MyAddNowbook過程使用Add方法建立新的工作簿並對新建工作簿進行操作。
a) 第2行到第6行代碼聲明變量類型。
b) 第7行代碼保存Excel自動插入到新工作簿中的工作表數目。
c) 第8、9行代碼將數組元素賦值給變量。
d) 第10行代碼將Application對象的SheetsInNewWorkbook屬性設置為4,在新建工作簿時插入4張工作表。
e) 第11行代碼使用Add方法建立新的工作簿,應用於Workbooks對象的Add方法新建工作簿,新建的工作簿將成為活動工作簿。
f) 第12行到第22行代碼操作新建工作簿。
g) 第15行到第17行代碼將新建工作簿的工作表進行重命名並給單元格賦值。
h) 第20行代碼使用SaveAs方法將新建工作簿重命名為"庫存.xls"保存在同一目錄中。
i) 第21行代碼使用Close方法關閉工作簿。
j) 第24行代碼恢復工作簿的默認設置。
三:實測代碼
代碼窗口:
運行後:新添了文件庫存。
庫存的內容:
今日內容迴向:
1 ADD方法是什麼?
2 .Range("B1").Resize(1, UBound(Arr) + 1) = Arr 是什麼意義?
閱讀更多 VBA專家 的文章