Next lngCount End With End Sub
本示例显示“打开文件”对话框,当用户在其中选择一个或多个文件后,将依次显示每个文件的路径。其中FileDialog属性返回打开和保存对话框中一系列对象的集合,可以对该集合对象的属性进行进一步的设置,例如上例中的AllowMultiSelect属性设置为True将允许用户选择多个文件。
改变Excel工作簿的名称(Caption属性) Sub SetCaption()
Application.Caption = \我的工作簿\End Sub
将工作簿中的Microsoft Excel列改为“我的工作簿”。 调用Windows的计算器(ActivateMicrosoftApp方法) Sub CallCalculate()
Application.ActivateMicrosoftApp Index:=0 End Sub
运行上述过程后,将调用Windows的计算器。 暂时停止宏运行(Wait方法) Sub Stop5sMacroRun() Dim SetTime As Date
MsgBox \按下「确定」,5秒后执行程序「testFullScreen」\ SetTime = DateAdd(\ Application.Wait SetTime Call testFullScreen End Sub
运行本程序后,按下弹出的提示框中的“确定”按钮,等待5秒后执行另一程序testFullScreen。
重新计算工作簿(Calculate方法)
当工作簿的计算模式被设置为手动模式后,运用Calculate方法可以重新计算所有打开的工作簿、工作簿中特定的工作表或者工作表中指定的单元格区域,如下面的代码:
Sub CalculateAllWorkbook() Application.Calculate End Sub
下面的代码先将当前Microsoft Excel的版本与上次计算该工作簿的Excel版本进行比较,如果两个版本不同,则对所有打开工作簿中的数据进行一次完整计算。其中,CalculationVersion属性返回工作簿的版本信息。
Sub CalculateFullSample()
If Application.CalculationVersion <>Workbooks(1).CalculationVersion Then Application.CalculateFull End If End Sub
控制函数重新计算(Volatile方法)
Function NonStaticRand() '当工作表中任意单元格重新计算时本函数更新 Application.Volatile True NonStaticRand = Rnd() End Function
本示例摸仿Excel中的Rand()函数,当工作表单元格发生变化时,都会重新计算该函数。在例子中,使用了Volatile方法,强制函数进行重新计算,即无论何时重新计算工作表,该函数都会重新计算。
获取重叠区域(Intersect方法) Sub IntersectRange() Dim rSect As Range
Worksheets(\
Set rSect = Application.Intersect(Range(\ If rSect Is Nothing Then MsgBox \没有交叉区域\ Else
rSect.Select End If End Sub
本示例在工作表Sheet1中选定两个命名区域rg1和rg2的重叠区域,如果所选区域不重叠,则显示一条相应的信息。其中,Intersect方法返回一个Range对象,代表两个或多个范围重叠的矩形区域。
获取路径分隔符(PathSeparator属性) Sub GetPathSeparator()
MsgBox \路径分隔符为\End Sub
本示例使用PathSeparator属性返回路径分隔符(”\\”)。 快速移至指定位置(Goto方法) Sub GotoSample()
Application.Goto Reference:=Worksheets(\End Sub
本示例运行后,将当前单元格移至工作表Sheet1中的单元格A154。可以将本技巧运
用到工作簿事件中,即当打开某工作簿时,快速定位到上一次退出时的单元格位置。
关闭Excel(Quit方法) Sub 关闭Excel()
MsgBox \将会关闭\ Application.Quit End Sub
运行本程序后,若该工作簿未保存,则会弹出对话框询问是否保存。