WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

各种Excel VBA的命令大全

更新时间:2014-05-01 15:56 作者:佚名点击:
本示例为设置工作表密码
ActiveSheet.Protect Password:=641112 ' 保护工作表并设置密码
ActiveSheet.Unprotect Password:=641112 '撤消工作表保护并取消密码
'本示例保存当前活动工作簿的副本。
ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
'本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该
工作簿的任何更改。
ThisWorkbook.Saved = True
ThisWorkbook.Close

'本示例对自动重新计算功能进行设置,使 Microsoft Excel 不对第一张工作表自
动进行重新计算。
Worksheets(1).EnableCalculation = False

'下述过程打开 C 盘上名为 MyFolder 的文件夹中的 MyBook.xls 工作簿。
Workbooks.Open ("C:\MyFolder\MyBook.xls")

'本示例显示活动工作簿中工作表 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 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 Sub

本示例新建一张工作表,然后在第一列中列出活动工作簿中的所有工作表的名称。
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_SheetCalculate(ByVal Sh As Object)
With Worksheets(1)
.Range("a1:a100").Sort Key1:=.Range("a1")
End With
End 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 过程,从现在开始计时。
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 列的宽度。
'Private Sub Worksheet_Calculate()
Columns("A:F").AutoFit
End Sub

本示例使活动工作簿中的计算仅使用显示的数字精度。
ActiveWorkbook.PrecisionAsDisplayed = True

本示例将工作表 Sheet1 上的 A1:G37 区域剪下,并放入剪贴板。
Worksheets("Sheet1").Range("A1:G37").Cut

Calculate 方法
计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元

格,如下表所示:
'要计算 '依照本示例
所有打开的工作簿 ' Application.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
Do
fName = Application.GetSaveAsFilename
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 Excel 向用户显示活动工作簿的路径和文件名称。
'Sub UseCanonical()
Display the full path to user.
MsgBox ActiveWorkbook.FullNameURLEncoded
End Sub

本示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿)。

MsgBox ActiveWorkbook.FullName

本示例关闭 Book1.xls,并放弃所有对此工作簿的更改。
Workbooks("BOOK1.XLS").Close SaveChanges:=False

本示例关闭所有打开的工作簿。如果某个打开的工作簿有改变,Microsoft Excel

将显示询问是否保存更改的对话框和相应提示。
Workbooks.Close

本示例在打印之前对当前活动工作簿的所有工作表重新计算?
'Private Sub Workbook_BeforePrint(Cancel As Boolean)
For Each wk In Worksheets
wk.Calculate
Next
End Sub

本示例对查询表一中的第一列数据进行汇总,并在数据区域下方显示第一列数据的总

和。
Set c1 = Sheets("sheet1").QueryTables(1).ResultRange.Columns(1)
c1.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, _
ByChange:=Range("C4:E6")
SolverAdd CellRef:=Range("F4:F6"), _
Relation:=1, _
FormulaText:=100
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=3, _
FormulaText:=0
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=4
SolverSolve UserFinish:=False
SolverSave SaveArea:=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:=xlAscending
End Sub

本示例更改 Microsoft Excel 链接。
ActiveWorkbook.ChangeLink "c:\excel\book1.xls", _
"c:\excel\book2.xls", xlExcelLinks

本示例启用受保护的工作表上的自动筛选箭头?
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect contents:=True, userInterfaceOnly:=True

本示例将活动工作簿设为只读?
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly

本示例使共享工作簿每三分钟自动更新一次?
ActiveWorkbook.AutoUpdateFrequency = 3

下述 Sub 过程清除活动工作簿中 Sheet1 上的所有单元格的内容。
'Sub ClearSheet()
Worksheets("Sheet1").Cells.ClearContents
End Sub

本示例对所有工作簿都关闭滚动条?
Application.DisplayScrollBars = False

如果具有密码保护的工作簿的文件属性没有加密,则本示例设置指定工作簿的密码加

密选项。
'Sub SetPasswordOptions()
With ActiveWorkbook
If .PasswordEncryptionProvider "Microsoft RSA SChannel

Cryptographic Provider" Then
.SetPasswordEncryptionOptions _
PasswordEncryptionProvider:="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
strPassword = "secret"
' Set password to a string if allowed.
If ActiveWorkbook.WriteReserved = False Then
ActiveWorkbook.WritePassword = strPassword
End If
End Sub

在本示例中,Microsoft Excel 打开名为 Password.xls 的工作簿,设置它的密码

,然后关闭该工作簿。本示例假定名为 Password.xls 的文件位于 C:\ 驱动器上。
'Sub UsePassword()

Dim wkbOne As Workbook

Set wkbOne = Application.Workbooks.Open("C:\Password.xls")

wkbOne.Password = "secret"
wkbOne.Close
'注意 Password 属性可读并返回 “********”。
End Sub

本示例将 Book1.xls 的当前窗口更改为显示公式。
Workbooks("BOOK1.XLS").Worksheets("Sheet1").Activate
ActiveWindow.DisplayFormulas = True

'本示例接受活动工作簿中的所有更改?
ActiveWorkbook.AcceptAllChanges

本示例显示活动工作簿的路径和名称
Sub UseCanonical()
MsgBox '消息框
[b7] = ActiveWorkbook.FullName '当前工作簿
[b8] = ActiveWorkbook.FullNameURLEncoded '活动工作簿
End Sub

本示例显示 Microsoft Excel 启动文件夹的完整路径。
MsgBox Application.StartupPath

Activate 事件
激活一个工作簿、工作表、图表或嵌入图表时产生此事件。
当激活工作表时,本示例对 A1:A10 区域进行排序。
Private Sub Worksheet_Activate()
Range("a1:a10").Sort Key1:=Range("a1"), Order:=xlAscending
End Sub

Calculate 事件
对于 Worksheet 对象,在对工作表进行重新计算之后产生此事件
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容