EXCEL VBA 创建和操作新的Excel工作簿和工作表 研究者:阙辉
1、qh_chuang_jian_Excel 封装好的通用的创建Excel工作簿函数
Public Function qh_chuang_jian_Excel(Excel_ming, _
Optional password = "", _
Optional lu_jing = "") As String \'新建Excel表01
Dim myPath As String
If lu_jing = "" Then
myPath = ThisWorkbook.Path & "\" & Excel_ming & ".xlsx"
Else
myPath = lu_jing & "\" & Excel_ming & ".xlsx"
End If
Application.ScreenUpdating = False
Set WB = Workbooks.Add
Set SHX = WB.Sheets(1)
If password <> "" Then WB.password = password
WB.SaveAs myPath
WB.Close True
Application.ScreenUpdating = True
End Function
2、 qh_chuang_jian_ExcelA 为存取股票数据而设计封装的创建Excel工作簿函数
Public Function qh_chuang_jian_ExcelA(Excel_ming, _
Optional Excel_sheet_frist = "Sheet1", _
Optional Excel_sheet_name = "", _
Optional password = "", _
Optional lu_jing = "") As String \'Excel_ming 工作簿名
\'Excel_sheet_frist 生成的初始名
\'Excel_sheet_name 改后名 不为空才会改名
\'password 密码 不为空才会设置密码
\'lu_jing 路径
\'新建Excel表02 专为股票存储设计 阙辉20191031
Dim myPath, Excel_ming_01, Excel_sheet_name_01 As String
Dim Nowbook As Workbook
Excel_ming_01 = Excel_ming & ".xlsx"
Excel_sheet_name_01 = Excel_sheet_name
If lu_jing = "" Then
myPath = ThisWorkbook.Path & "\" & Excel_ming_01
Else
myPath = lu_jing & "\" & Excel_ming & ".xlsx"
End If
Application.ScreenUpdating = False
\'******************工作簿对象_阙辉*******************
Set Nowbook = Workbooks.Add
With Nowbook
If password <> "" Then .password = password
.SaveAs Filename:=myPath
\'******************工作簿对象_阙辉*******************
\'******************工作表对象_阙辉*******************
With Workbooks(Excel_ming_01)
If Excel_sheet_name <> "" Then
.Worksheets(Excel_sheet_frist).Name = Excel_sheet_name_01
Else
Excel_sheet_name_01 = Excel_sheet_frist
End If
.Worksheets(Excel_sheet_name_01).Range("a1") = "你好,阙辉2019!"
.Save
End With
\'******************工作表对象_阙辉*******************
.Close Savechanges:=True \'关闭新建的工作簿 阙辉
For i = 1 To Workbooks.Count \'主要是关闭新建时以工作簿开头的工作簿 阙辉
If Workbooks(i).Name Like "工作簿" & "*" Then
Workbooks(i).Close Savechanges:=True
End If
Next
End With
Set Nowbook = Nothing
Application.ScreenUpdating = True
End Function
3、测试函数和打开工作簿操作的研究
Sub aaaaa()
aa = qh_chuang_jian_ExcelA("阙辉20192", , "阙辉", , "")
End Sub
Sub dakai()
Application.ScreenUpdating = False
Workbooks.Open (ThisWorkbook.Path & "\1237.xlsx")
With Workbooks("1237.xlsx")
.Worksheets("Sheet1").Name = "你好,阙辉2019!"
.Worksheets("你好,阙辉2019!").Range("a1") = "你好,阙辉2019!"
.Save
.Close
End With
Application.ScreenUpdating = True
End Sub