Excel VBA 入门到精通(六):Excel 对象模型

张开发
2026/4/16 15:42:40 15 分钟阅读

分享文章

Excel VBA 入门到精通(六):Excel 对象模型
🎯本章目标:深入理解 Excel 对象模型层次结构,掌握 Application、Workbook、Worksheet、Range 核心对象的操作方法,学会事件驱动编程。一、Excel 对象模型概述1.1 对象层次结构Excel 的对象模型是一个树状层次结构,顶层是 Application 对象,向下逐级包含工作簿、工作表、单元格等。┌─────────────────────────────────────────────────────────┐ │ Excel 对象模型 │ ├─────────────────────────────────────────────────────────┤ │ │ │ Application │ │ │ │ │ ┌─────────────┼─────────────┐ │ │ ▼ ▼ ▼ │ │ Workbooks Worksheets Windows │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ Workbook Worksheet Range │ │ │ │ │ │ ▼ ▼ │ │ Worksheets Cells/Ranges │ │ │ │ │ ▼ │ │ Cell │ │ │ │ 其他对象:Chart, Shape, PivotTable, Name... │ │ │ └─────────────────────────────────────────────────────────┘1.2 核心对象简介对象说明示例ApplicationExcel 应用程序本身Application.VersionWorkbook工作簿(Excel 文件)ThisWorkbookWorksheet工作表ActiveSheetRange单元格区域Range("A1")Chart图表ChartObjects(1)PivotTable数据透视表PivotTables(1)二、Application 对象2.1 常用属性Sub ApplicationProperties() With Application ' Excel 版本 Debug.Print "Excel 版本: " .Version ' 当前用户 Debug.Print "用户名: " .UserName ' 活动工作簿/工作表 Debug.Print "活动工作簿: " .ActiveWorkbook.Name Debug.Print "活动工作表: " .ActiveSheet.Name ' 屏幕更新(性能优化关键) .ScreenUpdating = False ' 关闭屏幕刷新 ' ... 执行大量操作 ... .ScreenUpdating = True ' 恢复屏幕刷新 ' 计算模式 Debug.Print "计算模式: " .Calculation ' 显示警告 .DisplayAlerts = False ' 不显示警告对话框 .DisplayAlerts = True ' 恢复显示 End With End Sub2.2 常用方法Sub ApplicationMethods() ' 退出 Excel ' Application.Quit ' 计算所有打开的工作簿 Application.Calculate ' 等待指定时间 Application.Wait Now + TimeValue("00:00:05") ' 等待5秒 ' 执行 Excel 4.0 宏函数 Debug.Print Application.ExecuteExcel4Macro("GET.CELL(42)") ' 激活已打开的工作簿 ' Application.Workbooks("Book1.xlsx").Activate ' 运行指定过程 Application.Run "MyMacro" End Sub2.3 性能优化技巧Sub PerformanceOptimization() ' 开启优化 Application.ScreenUpdating = False ' 关闭屏幕刷新 Application.Calculation = xlCalculationManual ' 手动计算 Application.EnableEvents = False ' 禁用事件 Application.DisplayAlerts = False ' 禁用警告 ' 执行大量操作... Dim i As Long For i = 1 To 100000 Cells(i, 1).Value = i Next i ' 恢复设置 Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.

更多文章