Excel中各种VBA写法

上传人:mg****2 文档编号:123123846 上传时间:2020-03-08 格式:DOC 页数:41 大小:32.97KB
返回 下载 相关 举报
Excel中各种VBA写法_第1页
第1页 / 共41页
Excel中各种VBA写法_第2页
第2页 / 共41页
Excel中各种VBA写法_第3页
第3页 / 共41页
Excel中各种VBA写法_第4页
第4页 / 共41页
Excel中各种VBA写法_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《Excel中各种VBA写法》由会员分享,可在线阅读,更多相关《Excel中各种VBA写法(41页珍藏版)》请在金锄头文库上搜索。

1、.Excel中各种VBA写法工作簿对象事件一览表当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。事件说明Activate激活工作薄时AddinInstall当工作簿作为加载宏安装时AddinUninstall工作簿作为加载宏卸载时BeforeClose关闭工作薄前BeforePrint打印工作薄(或其中任何内容)之前BeforeSave保存工作薄前Deactivate

2、工作簿从活动状态转为非活动状态时NewSheet在工作簿中新建工作表时Open打开工作簿时PivotTableCloseConnection在数据透视表关闭与其数据源的连接之后PivotTableOpenConnection在数据透视表打开与其数据源的连接之后SheetActivate激活任何一张表时SheetBeforeDoubleClick双击任何工作表时SheetBeforeRightClick鼠标右键单击任一工作表时SheetCalculate工作表重新计算时SheetChange更改工作表中的单元格时SheetDeactivate任一工作表由活动状态转为非活动状态时SheetFoll

3、owHyperlink单击 Microsoft Excel 中的任意超链接时SheetPivotTableUpdate数据透视表的工作表更新之后SheetSelectionChange工作簿中的数据透视表更新之后WindowActivate工作簿的窗口激活时WindowDeactivate工作簿的窗口变为非活动状态时WindowResize工作簿窗口调整大小时工作表事件一览表工作表上的事件在默认情况下是可用的。若要查看工作表的事件过程,请用鼠标右键单击工作表标签,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。事件说明Activate 激活工作表时Deactivate工作表

4、从活动状态转为非活动状态时BeforeDoubleClick 双击工作表前BeforeRightClick 右键单击工作表时Calculate 对工作表进行重新计算之后Change 更改工作表中的单元格,或外部链接引起单元格时FollowHyperlink 单击工作表上的任意超链接时PivotTableUpdate 在工作簿中的数据透视表更新之后SelectionChange工作表上的选定区域发生改变时再贴一堆代码例为设置密码窗口 (1) If Application.InputBox(请输入密码:) = 1234 Then A1 = 1 密码正确时执行 Else: MsgBox 密码错误,即

5、将退出! 此行与第2行共同设置密码 End If 本示例为设置密码窗口 (1) X = MsgBox(是否真的要结帐?, vbYesNo) If X = vbYes Then Close 本示例为设置工作表密码 ActiveSheet.Protect Password:=641112 保护工作表并设置密码 ActiveSheet.Unprotect Password:=641112 撤消工作表保护并取消密码 本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容 。 For Each w In Workbooks If w.Name ThisWorkbook.Name The

6、n w.Close SaveChanges:=True End If Next w 每次打开工作簿时,本示例都最大化 Microsoft Excel 窗口。 Application.WindowState = xlMaximized 本示例显示活动工作表的名称。 MsgBox The name of the active sheet is & ActiveSheet.Name 本示例保存当前活动工作簿的副本。 ActiveWorkbook.SaveCopyAs C:TEMPXXXX.XLS 下述过程激活工作簿中的第四张工作表。 Sheets(4).Activate 下述过程激活工作簿中的第1张

7、工作表。 Worksheets(1).Activate 本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该 工作簿的任何更改。 ThisWorkbook.Saved = True ThisWorkbook.Close 本示例对自动重新计算功能进行设置,使 Microsoft Excel 不对第一张工作表自 动进行重新计算。 Worksheets(1).EnableCalculation = False 下述过程打开 C 盘上名为 MyFolder 的文件夹中的 MyBook.xls 工作簿。 Workbooks.Open (C:MyFolderMyBook.x

8、ls) 本示例显示活动工作簿中工作表 sheet1 上单元格 A1 中的值。 MsgBox Worksheets(Sheet1).Range(A1).Value 本示例显示活动工作簿中每个工作表的名称 For Each ws In Worksheets MsgBox ws.Name Next ws 本示例向活动工作簿添加新工作表 , 并设置该工作表的名称? Set NewSheet = Worksheets.Add NewSheet.Name = current Budget 本示例将新建的工作表移到工作簿的末尾 Private Sub Workbook_NewSheet(ByVal Sh A

9、s Object) Sh.Move After:=Sheets(Sheets.Count) End Sub 本示例将新建工作表移到工作簿的末尾 Private Sub App_WorkbookNewSheet(ByVal Wb As Workbook, _ ByVal Sh As Object) Sh.Move After:=Wb.Sheets(Wb.Sheets.Count) End Sub 本示例新建一张工作表,然后在第一列中列出活动工作簿中的所有工作表的名称。 Set NewSheet = Sheets.Add(Type:=xlWorksheet) For i = 1 To Sheets

10、.Count NewSheet.Cells(i, 1).Value = Sheets(i).Name Next i 本示例将第十行移到窗口的最上面? Worksheets(Sheet1).Activate ActiveWindow.ScrollRow = 10 当计算工作簿中的任何工作表时,本示例对第一张工作表的 A1:A100 区域进行排序 。 Private Sub Workbook_SheetCalculate(ByVal Sh As Object) With Worksheets(1) .Range(a1:a100).Sort Key1:=.Range(a1) End With End

11、 Sub 本示例显示工作表 Sheet1 的打印预览。 Worksheets(Sheet1).PrintPreview 本示例保存当前活动工作簿? ActiveWorkbook.Save 本示例保存所有打开的工作簿,然后关闭 Microsoft Excel。 For Each w In Application.Workbooks w.Save Next w Application.Quit 下例在活动工作簿的第一张工作表前面添加两张新的工作表? Worksheets.Add Count:=2, Before:=Sheets(1) 本示例设置 15 秒后运行 my_Procedure 过程,从现

12、在开始计时。 Application.OnTime Now + TimeValue(00:00:15), my_Procedure 本示例设置 my_Procedure 在下午 5 点开始运行。 Application.OnTime TimeValue(17:00:00), my_Procedure 本示例撤消前一个示例对 OnTime 的设置。 Application.OnTime EarliestTime:=TimeValue(17:00:00), _ Procedure:=my_Procedure, Schedule:=False 每当工作表重新计算时,本示例就调整 A 列到 F 列的宽

13、度。 Private Sub Worksheet_Calculate() Columns(A:F).AutoFit End Sub 本示例使活动工作簿中的计算仅使用显示的数字精度。 ActiveWorkbook.PrecisionAsDisplayed = True 本示例将工作表 Sheet1 上的 A1:G37 区域剪下,并放入剪贴板。 Worksheets(Sheet1).Range(A1:G37).Cut Calculate 方法 计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元 格,如下表所示: 要计算 依照本示例 所有打开的工作簿 Application.

14、Calculate (或只是 Calculate ) 指定工作表 计算指定工作表Sheet1 Worksheets (Sheet1).Calculate 指定区域 Worksheets(1).Rows(2).Calculate 本示例对自动重新计算功能进行设置,使 Microsoft Excel 不对第一张工作表自动 进行重新计算。 Worksheets(1).EnableCalculation = False 本示例计算 Sheet1 已用区域中 A 列、B 列和 C 列的公式。 Worksheets(Sheet1).UsedRange.Columns(A:C).Calculate 本示例更新当前活动工作簿中的所有链接? ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources 本示例设置第一张工作表的滚动区域? Worksheets(1).ScrollArea = a1:f10 本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。 Set NewBook = Workbooks.Add

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号