excel中各种vba写法-彷徨豁然开朗-博客园

上传人:泽*** 文档编号:75535094 上传时间:2022-04-15 格式:DOC 页数:15 大小:78.50KB
收藏 版权申诉 举报 下载
excel中各种vba写法-彷徨豁然开朗-博客园_第1页
第1页 / 共15页
excel中各种vba写法-彷徨豁然开朗-博客园_第2页
第2页 / 共15页
excel中各种vba写法-彷徨豁然开朗-博客园_第3页
第3页 / 共15页
资源描述:

《excel中各种vba写法-彷徨豁然开朗-博客园》由会员分享,可在线阅读,更多相关《excel中各种vba写法-彷徨豁然开朗-博客园(15页珍藏版)》请在装配图网上搜索。

1、Excel 中各种 VBA 写法- 彷徨 . 豁然开朗- 博客园Excel 中各种 VBA 写法html先贴一段网上找的excel 的各种事件工作簿对象事件一览表当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“ 查看代码 ” 。在“ 过程 ” 下拉列表框内选择事件名称。事件说明Activate 激活工作薄时AddinInstall当工作簿作为加载宏安装时AddinUn

2、install工作簿作为加载宏卸载时BeforeClose关闭工作薄前BeforePrint打印工作薄 ( 或其中任何内容)之前BeforeSave保存工作薄前Deactivate工作簿从活动状态转为非活动状态时NewSheet在工作簿中新建工作表时Open 打开工作簿时PivotTableCloseConnection在数据透视表关闭与其数据源的连接之后PivotTableOpenConnection在数据透视表打开与其数据源的连接之后SheetActivate激活任何一张表时SheetBeforeDoubleClick双击任何工作表时SheetBeforeRightClick鼠标右键单击任

3、一工作表时SheetCalculate工作表重新计算时SheetChange更改工作表中的单元格时SheetDeactivate任一工作表由活动状态转为非活动状态时SheetFollowHyperlink单击Microsoft Excel中的任意超链接时SheetPivotTableUpdate数据透视表的工作表更新之后SheetSelectionChange工作簿中的数据透视表更新之后WindowActivate工作簿的窗口激活时WindowDeactivate工作簿的窗口变为非活动状态时WindowResize工作簿窗口调整大小时工作表事件一览表工作表上的事件在默认情况下是可用的。若要查看

4、工作表的事件过程,请用鼠标右键单击工作表标签,再单击快捷菜单上的 “ 查看代码 ” 。在 “ 过程 ” 下拉列表框内选择事件名称。事件说明Activate激活工作表时Deactivate工作表从活动状态转为非活动状态时BeforeDoubleClick双击工作表前BeforeRightClick右键单击工作表时Calculate对工作表进行重新计算之后Change更改工作表中的单元格,或外部链接引起单元格时FollowHyperlink单击工作表上的任意超链接时PivotTableUpdate在工作簿中的数据透视表更新之后SelectionCha

5、nge工作表上的选定区域发生改变时再贴一堆代码例为设置密码窗口(1)If Application.InputBox(请输入密码: ) = 1234 ThenA1 = 1 密码正确时执行Else: MsgBox 密码错误,即将退出! 此行与第 2 行共同设置密码End If本示例为设置密码窗口(1)X = MsgBox(是否真的要结帐?, vbYesNo)If X = vbYes ThenClose本示例为设置工作表密码ActiveSheet.Protect Password:=641112 保护工作表并设置密码ActiveSheet.Unprotect Password:=641112 撤消工

6、作表保护并取消密码本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。For Each w In WorkbooksIf w.Name ThisWorkbook.Name Thenw.Close SaveChanges:=TrueEnd IfNext w 每次打开工作簿时,本示例都最大化 Microsoft Excel 窗口。Application.WindowState = xlMaximized本示例显示活动工作表的名称。MsgBox The name of the active sheet is &ActiveSheet.Name本示例保存当前活动工作簿的副

7、本。ActiveWorkbook.SaveCopyAs C:TEMPXXXX.XLS下述过程激活工作簿中的第四张工作表。Sheets(4).Activate下述过程激活工作簿中的第1 张工作表。Worksheets(1).Activate本示例通过将Saved属性设为True来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。ThisWorkbook.Saved = TrueThisWorkbook.Close本示例对自动重新计算功能进行设置,使 Microsoft Excel不对第一张工作表自动进行重新计算。Worksheets(1).EnableCalculation = False下

8、述过程打开C 盘上名为 MyFolder的文件夹中的MyBook.xls 工作簿。Workbooks.Open (C:MyFolderMyBook.xls)本示例显示活动工作簿中工作表sheet1 上单元格 A1中的值。MsgBox Worksheets(Sheet1).Range(A1).Value本示例显示活动工作簿中每个工作表的名称For Each ws In WorksheetsMsgBox ws.NameNext ws 本示例向活动工作簿添加新工作表, 并设置该工作表的名称 ?Set NewSheet = Worksheets.AddNewSheet.Name = current B

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

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

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

12、Time 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 列的宽度。Private Sub Worksheet_Calculate()Co

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

14、eet1).Calculate指定区域Worksheets(1).Rows(2).Calculate动重新计算功能进行设置,使Microsoft Excel本示例对自不对第一张工作表自动进行重新计算。Worksheets(1).EnableCalculation = False本示例计算Sheet1已用区域中A 列、 B 列和C 列的公式。Worksheets(Sheet1).UsedRange.Columns(A:C).Calculate本示例更新当前活动工作簿中的所有链接?ActiveWorkbook.UpdateLinkName:=ActiveWorkbook.LinkSources本示

15、例设置第一张工作表的滚动区域?Worksheets(1).ScrollArea = a1:f10本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。Set NewBook = Workbooks.AddDofName = Application.GetSaveAsFilenameLoop Until fName FalseNewBook.SaveAs Filename:=fName本示例打开Analysis.xls工作簿,然后运行Auto_Open宏。Workbooks.Open ANALYSIS.XLSActiveWorkbook.RunAutoMacros xlAutoOpen本示

16、例对活动工作簿运行Auto_Close宏,然后关闭该工作簿。With ActiveWorkbook.RunAutoMacros xlAutoClose.CloseEnd With在本示例中, Microsoft Excel向用户显示活动工作簿的路径和文件名称。Sub UseCanonical()Display the full path to user.MsgBox ActiveWorkbook.FullNameURLEncodedEnd Sub本示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿) 。MsgBox ActiveWorkbook.FullName本示例关闭Book1.xls

17、 ,并放弃所有对此工作簿的更改。Workbooks(BOOK1.XLS).Close SaveChanges:=False本示例关闭所有打开的工作簿。如果某个打开的工作簿有改变, Microsoft Excel将显示询问是否保存更改的对话框和相应提示。Workbooks.Close本示例在打印之前对当前活动工作簿的所有工作表重新计算?Private Sub Workbook_BeforePrint(Cancel As Boolean)For Each wk In Worksheetswk.CalculateNextEnd Sub本示例对查询表一中的第一列数据进行汇总,并在数据区域下方显示第一列

18、数据的总和。Set c1 =Sheets(sheet1).QueryTables(1).ResultRange.Columns(1)c1.Name = Column1c1.End(xlDown).Offset(2, 0).Formula = =sum(Column1)本示例取消活动工作簿中的所有更改?ActiveWorkbook.RejectAllChanges本示例在商业问题中使用规划求解函数, 以使总利润达到最大值。SolverSave函数将当前问题保存到活动工作表上的某一区域。Worksheets(Sheet1).ActivateSolverResetSolverOptions Prec

19、ision:=0.001SolverOK SetCell:=Range(TotalProfit), _MaxMinVal:=1, _ByChange:=Range(C4:E6)SolverAdd CellRef:=Range(F4:F6), _Relation:=1, _FormulaText:=100SolverAdd CellRef:=Range(C4:E6), _Relation:=3, _FormulaText:=0SolverAdd CellRef:=Range(C4:E6), _Relation:=4SolverSolve UserFinish:=FalseSolverSave S

20、aveArea:=Range(A33)本示例隐藏Chart1、Chart3和Chart5。Charts(Array(Chart1, Chart3, Chart5).Visible = False当激活工作表时,本示例对A1:A10区域进行排序。Private Sub Worksheet_Activate()Range(a1:a10).Sort Key1:=Range(a1),order:=xlAscendingEnd Sub本示例更改Microsoft Excel链接。ActiveWorkbook.ChangeLink c:excelbook1.xls, _c:excelbook2.xls,

21、xlExcelLinks本示例启用受保护的工作表上的自动筛选箭头?ActiveSheet.EnableAutoFilter = TrueActiveSheet.Protect contents:=True,userInterfaceOnly:=True本示例将活动工作簿设为只读?ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly本示例使共享工作簿每三分钟自动更新一次?ActiveWorkbook.AutoUpdateFrequency = 3下述Sub过程清除活动工作簿中Sheet1上的所有单元格的内容。Sub ClearSheet()Worksh

22、eets(Sheet1).Cells.ClearContentsEnd Sub本示例对所有工作簿都关闭滚动条?Application.DisplayScrollBars = False如果具有密码保护的工作簿的文件属性没有加密,则本示例设置指定工作簿的密码加密选项。Sub SetPasswordOptions()With ActiveWorkbookIf .PasswordEncryptionProvider Microsoft RSA SChannelCryptographic Provider Then.SetPasswordEncryptionOptions _PasswordEncry

23、ptionProvider:=Microsoft RSA SChannelCryptographic Provider, _PasswordEncryptionAlgorithm:=RC4, _PasswordEncryptionKeyLength:=56, _PasswordEncryptionFileProperties:=TrueEnd IfEnd WithEnd Sub在本示例中,如果活动工作簿不能进行写保护,那么Microsoft Excel设置字符串密码以作为活动工作簿的写密码。Sub UseWritePassword()Dim strPassword As StringstrPa

24、ssword = secret Set password to a string if allowed.If ActiveWorkbook.WriteReserved = False ThenActiveWorkbook.WritePassword = strPasswordEnd IfEnd Sub在本示例中, Microsoft ExcelPassword.xls的工作簿, 设置它的密码打开名为,然后关闭该工作簿。本示例假定名为 Password.xls 的文件位于 C: 驱动器上。Sub UsePassword()Dim wkbOne As WorkbookSetwkbOne.Passw

25、ord = secretwkbOne.Close注意 Password 属性可读并返回 “*” 。 End Sub 本示例将 Book1.xls 的当前窗口更改为显示公式。Workbooks(BOOK1.XLS).Worksheets(Sheet1).ActivateActiveWindow.DisplayFormulas = True本示例接受活动工作簿中的所有更改?ActiveWorkbook.AcceptAllChanges本示例显示活动工作簿的路径和名称Sub UseCanonical()MsgBox 消息框b7= ActiveWorkbook.FullName 当前工作簿b8= ActiveWorkbook.FullNameURLEncoded 活动工作簿End Sub本示例显示Microsoft Excel启动文件夹的完整路径。MsgBox Application.StartupPath本示例显示活动工作簿中每个工作表的名称。For Each ws In WorksheetsMsgBox ws.NameNext ws本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!