各种Excel-VBA的命令大全让您技能天下无双( 二 )


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.

推荐阅读