Excel VBA 创建和关闭 Application 实例

  • 创建 Excel 应用实例
'create new excel application object  
Set app = New Excel.Application  
'set the applications visible property to false  
app.Visible = False '默认就是隐藏窗口。可以省略掉此行奢者
  • 关闭 Excel 应用实例
'close the application  
app.Quit
'release outstanding object references
Set app = Nothing

VBA 检查表名称是否存在

Function ExistSheetName(name As String)
    Dim sht As Worksheet
    For Each sht In Worksheets
        If sht.name = name Then
            ExistSheetName = True
            Exit Function
        End If
    Next
    ExistSheetName = False
End Function

Excel VBA 添加新工作表

  • 默认工作簿中添加表
    Worksheets.Add

同时设置表名称:Worksheets.Add().Name="New Sheet"

  • 指定工作簿中添加表
    myWorkbook.Sheets.Add
名称 必需/可选 数据类型 说明
Before 可选 Variant 指定工作表的对象,新建的工作表将置于此工作表之前
After 可选 Variant 指定工作表的对象,新建的工作表将置于此工作表之后
Count 可选 Variant 要添加的工作表数。 默认值为 1
Type 可选 Variant 指定工作表类型
  • 如果同时省略 BeforeAfter,则新工作表插入到活动工作表之前。
  • Type 可以是下列的 XlSheetType 常量之一: xlWorksheetxlChartxlExcel4MacroSheetxlExcel4IntlMacroSheet

表示新工作表、图表或宏工作表的 Object 值。

Excel VBA 添加新工作簿

' 创建工作簿,
Dim newWb As Workbook

'或在另一个应用实例(进程)中创建
Dim newWb as appExcel.Workbook


Set newWb = Workbooks.Add

如果要给工作簿命名,只有在保存时,指定文件名。
wb.SaveAs Filename:="NewWB"

Excel VBA 自动计算与刷新的开关

VBA对单元格数据进行批量修改时,可以暂时关闭自动计算和屏幕刷新,加快代码运行速度。

'关闭屏幕刷新
Application.ScreenUpdating = False
'关闭自动计算(调整为手动计算)
Application.Calculation = xlManual
'启动屏幕刷新
Application.ScreenUpdating = True
'启动自动计算
Application.Calculation = xlAutomatic
'计算——整个工作簿
Calculate