各种ExcelVBA的命令.pdf
《各种ExcelVBA的命令.pdf》由会员分享,可在线阅读,更多相关《各种ExcelVBA的命令.pdf(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Word 联盟 http:/ 各种 Excel VBA 的命令本示例为设置密码窗口(1)If Application.InputBox(请输入密码:)=1234 Then A1=1 密码正确时执行Else:MsgBox 密码错误,即将退出!此行与第 2 行共同设置密码End If 本示例为设置密码窗口(1)X=MsgBox(是否真的要结帐?,vbYesNo)If X=vbYes Then Close 本示例为设置工作表密码ActiveSheet.Protect Password:=641112 保护工作表并设置密码ActiveSheet.Unprotect Password:=641112 撤
2、消工作表保护并取消密码本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容Word 联盟 http:/。For Each w In Workbooks If w.Name ThisWorkbook.Name Then w.Close SaveChanges:=True End If Next w 每次打开工作簿时,本示例都最大化Microsoft Excel 窗口。Application.WindowState=xlMaximized 本示例显示活动工作表的名称。MsgBox The name of the active sheet is&ActiveSheet.Name
3、本示例保存当前活动工作簿的副本。ActiveWorkbook.SaveCopyAs C:TEMPXXXX.XLS 下述过程激活工作簿中的第四张工作表。Sheets(4).Activate 下述过程激活工作簿中的第1 张工作表。Word 联盟 http:/ Worksheets(1).Activate 本示例通过将Saved 属性设为True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。ThisWorkbook.Saved=True ThisWorkbook.Close 本示例对自动重新计算功能进行设置,使 Microsoft Excel 不对第一张工作表自动进行重新计算。Works
4、heets(1).EnableCalculation=False 下述过程打开C 盘上名为MyFolder 的文件夹中的MyBook.xls 工作簿。Workbooks.Open(C:MyFolderMyBook.xls)本示例显示活动工作簿中工作表sheet1 上单元格A1 中的值。MsgBox Worksheets(Sheet1).Range(A1).Value Word 联盟 http:/ 本示例显示活动工作簿中每个工作表的名称For Each ws In Worksheets MsgBox ws.Name Next ws 本示例向活动工作簿添加新工作表,并设置该工作表的名称?Set N
5、ewSheet=Worksheets.Add NewSheet.Name=current Budget 本示例将新建的工作表移到工作簿的末尾Private Sub Workbook_NewSheet(ByVal Sh As 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 S
6、ub 本示例新建一张工作表,然后在第一列中列出活动工作簿中的所有工作表的名称。Word 联盟 http:/ Set NewSheet=Sheets.Add(Type:=xlWorksheet)For i=1 To Sheets.Count NewSheet.Cells(i,1).Value=Sheets(i).Name Next i 本示例将第十行移到窗口的最上面?Worksheets(Sheet1).Activate ActiveWindow.ScrollRow=10 当计算工作簿中的任何工作表时,本示例对第一张工作表的A1:A100 区域进行排序。Private Sub Workbook_
7、SheetCalculate(ByVal Sh As Object)With Worksheets(1).Range(a1:a100).Sort Key1:=.Range(a1)End With End Sub 本示例显示工作表Sheet1 的打印预览。Worksheets(Sheet1).PrintPreview 本示例保存当前活动工作簿?Word 联盟 http:/ ActiveWorkbook.Save 本示例保存所有打开的工作簿,然后关闭Microsoft Excel。For Each w In Application.Workbooks w.Save Next w Applicati
8、on.Quit 下例在活动工作簿的第一张工作表前面添加两张新的工作表?Worksheets.Add Count:=2,Before:=Sheets(1)本示例设置15 秒后运行my_Procedure 过程,从现在开始计时。Application.OnTime Now+TimeValue(00:00:15),my_Procedure 本示例设置my_Procedure 在下午5 点开始运行。Application.OnTime TimeValue(17:00:00),my_Procedure 本示例撤消前一个示例对OnTime 的设置。Application.OnTime EarliestTi
9、me:=TimeValue(17:00:00),_ Procedure:=my_Procedure,Schedule:=False 每当工作表重新计算时,本示例就调整A 列到 F 列的宽度。Word 联盟 http:/ Private Sub Worksheet_Calculate()Columns(A:F).AutoFit End Sub 本示例使活动工作簿中的计算仅使用显示的数字精度。ActiveWorkbook.PrecisionAsDisplayed=True 本示例将工作表Sheet1 上的 A1:G37 区域剪下,并放入剪贴板。Worksheets(Sheet1).Range(A1
10、:G37).Cut Calculate 方法计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元格,如下表所示:要计算 依照本示例所有打开的工作簿 Application.Calculate(或只是Calculate)指定工作表计算指定工作表 Sheet1 Worksheets(Sheet1).Calculate Word 联盟 http:/ 指定区域Worksheets(1).Rows(2).Calculate 本示例对自动重新计算功能进行设置,使Microsoft Excel 不对第一张工作表自动进行重新计算。Worksheets(1).EnableCalculati
11、on=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 Do fName=Application.Ge
12、tSaveAsFilename Word 联盟 http:/ Loop Until fName False NewBook.SaveAs Filename:=fName 本示例打开Analysis.xls 工作簿,然后运行Auto_Open 宏。Workbooks.Open ANALYSIS.XLS ActiveWorkbook.RunAutoMacros xlAutoOpen 本示例对活动工作簿运行Auto_Close 宏,然后关闭该工作簿。With ActiveWorkbook.RunAutoMacros xlAutoClose.Close End With 在本示例中,Microsoft
13、 Excel 向用户显示活动工作簿的路径和文件名称。Sub UseCanonical()Display the full path to user.MsgBox ActiveWorkbook.FullNameURLEncoded End Sub 本示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿)。Word 联盟 http:/ MsgBox ActiveWorkbook.FullName 本示例关闭Book1.xls,并放弃所有对此工作簿的更改。Workbooks(BOOK1.XLS).Close SaveChanges:=False 本示例关闭所有打开的工作簿。如果某个打开的工作簿有改
14、变,Microsoft Excel 将显示询问是否保存更改的对话框和相应提示。Workbooks.Close 本示例在打印之前对当前活动工作簿的所有工作表重新计算?Private Sub Workbook_BeforePrint(Cancel As Boolean)For Each wk In Worksheets wk.Calculate Next End Sub 本示例对查询表一中的第一列数据进行汇总,并在数据区域下方显示第一列数据的总和。Word 联盟 http:/ Set c1=Sheets(sheet1).QueryTables(1).ResultRange.Columns(1)c1
15、.Name=Column1 c1.End(xlDown).Offset(2,0).Formula=sum(Column1)本示例取消活动工作簿中的所有更改?ActiveWorkbook.RejectAllChanges 本示例在商业问题中使用规划求解函数,以使总利润达到最大值。SolverSave 函数将当前问题保存到活动工作表上的某一区域。Worksheets(Sheet1).Activate SolverReset SolverOptions Precision:=0.001 SolverOK SetCell:=Range(TotalProfit),_ MaxMinVal:=1,_ ByC
16、hange:=Range(C4:E6)SolverAdd CellRef:=Range(F4:F6),_ Relation:=1,_ FormulaText:=100 SolverAdd CellRef:=Range(C4:E6),_ Relation:=3,_ Word 联盟 http:/ FormulaText:=0 SolverAdd CellRef:=Range(C4:E6),_ Relation:=4 SolverSolve UserFinish:=False SolverSave SaveArea:=Range(A33)本示例隐藏Chart1、Chart3 和 Chart5。Cha
17、rts(Array(Chart1,Chart3,Chart5).Visible=False 当激活工作表时,本示例对A1:A10 区域进行排序。Private Sub Worksheet_Activate()Range(a1:a10).Sort Key1:=Range(a1),Order:=xlAscending End Sub 本示例更改Microsoft Excel 链接。ActiveWorkbook.ChangeLink c:excelbook1.xls,_ c:excelbook2.xls,xlExcelLinks 本示例启用受保护的工作表上的自动筛选箭头?ActiveSheet.En
18、ableAutoFilter=True ActiveSheet.Protect contents:=True,userInterfaceOnly:=True Word 联盟 http:/ 本示例将活动工作簿设为只读?ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly 本示例使共享工作簿每三分钟自动更新一次?ActiveWorkbook.AutoUpdateFrequency=3 下述 Sub 过程清除活动工作簿中Sheet1 上的所有单元格的内容。Sub ClearSheet()Worksheets(Sheet1).Cells.ClearConte
19、nts End Sub 本示例对所有工作簿都关闭滚动条?Application.DisplayScrollBars=False 如果具有密码保护的工作簿的文件属性没有加密,则本示例设置指定工作簿的密码加密选项。Sub SetPasswordOptions()With ActiveWorkbook If.PasswordEncryptionProvider Microsoft RSA SChannel Word 联盟 http:/ Cryptographic Provider Then.SetPasswordEncryptionOptions _ PasswordEncryptionProvid
20、er:=Microsoft RSA SChannel Cryptographic Provider,_ PasswordEncryptionAlgorithm:=RC4,_ PasswordEncryptionKeyLength:=56,_ PasswordEncryptionFileProperties:=True End If End With End Sub 在本示例中,如果活动工作簿不能进行写保护,那么Microsoft Excel 设置字符串密码以作为活动工作簿的写密码。Sub UseWritePassword()Dim strPassword As String strPasswo
21、rd=secret Set password to a string if allowed.If ActiveWorkbook.WriteReserved=False Then Word 联盟 http:/ ActiveWorkbook.WritePassword=strPassword End If End Sub 在本示例中,Microsoft Excel 打开名为Password.xls 的工作簿,设置它的密码,然后关闭该工作簿。本示例假定名为Password.xls 的文件位于C:驱动器上。Sub UsePassword()Dim wkbOne As Workbook Set wkbO
22、ne=Application.Workbooks.Open(C:Password.xls)wkbOne.Password=secret wkbOne.Close 注意 Password 属性可读并返回*。End Sub 本示例将Book1.xls 的当前窗口更改为显示公式。Workbooks(BOOK1.XLS).Worksheets(Sheet1).Activate Word 联盟 http:/ ActiveWindow.DisplayFormulas=True 本示例接受活动工作簿中的所有更改?ActiveWorkbook.AcceptAllChanges 本示例显示活动工作簿的路径和名称
23、Sub UseCanonical()MsgBox 消息框b7=ActiveWorkbook.FullName 当前工作簿b8=ActiveWorkbook.FullNameURLEncoded 活动工作簿End Sub 本示例显示Microsoft Excel 启动文件夹的完整路径。MsgBox Application.StartupPath 本示例显示活动工作簿中每个工作表的名称。For Each ws In Worksheets MsgBox ws.Name Next ws 本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。Word 联盟 http:/ For Ea
24、ch w In Workbooks If w.Name ThisWorkbook.Name Then w.Close savechanges:=True End If Next w Activate 事件激活一个工作簿、工作表、图表或嵌入图表时产生此事件。当激活工作表时,本示例对A1:A10 区域进行排序。Private Sub Worksheet_Activate()Range(a1:a10).Sort Key1:=Range(a1),Order:=xlAscending End Sub Calculate 事件对于 Worksheet 对象,在对工作表进行重新计算之后产生此事件每当工作表重
25、新计算时,本示例就调整A 列到 F 列的宽度。Private Sub Worksheet_Calculate()Columns(A:F).AutoFit End Sub BeforeDoubleClick 事件应用于 Worksheet 对象的 Activate 方法。Word 联盟 http:/ 当双击某工作表时产生此事件,此事件先于默认的双击操作。Private Sub expression_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)expression 引用在类模块中带有事件声明的Worksheet 类型对象的变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 各种 ExcelVBA 命令
限制150内