excelVBA 常用命令Word下载.docx
《excelVBA 常用命令Word下载.docx》由会员分享,可在线阅读,更多相关《excelVBA 常用命令Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
保护工作表并设置密码ActiveSheet.UnprotectPassword:
撤消工作表保护并取消密码
&
本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。
ForEachwInWorkbooksIfw.NameThisWorkbook.NameThen
w.CloseSaveChanges:
=TrueEndIfNextw
每次打开工作簿时,本示例都最大化MicrosoftExcel窗口。
Application.WindowState=xlMaximized
本示例显示活动工作表的名称。
Thenameoftheactivesheetis"
ActiveSheet.Name
本示例保存当前活动工作簿的副本。
ActiveWorkbook.SaveCopyAs"
C:
/TEMP/XXXX.XLS"
下述过程激活工作簿中的第四张工作表。
Sheets(4).Activate
下述过程激活工作簿中的第1张工作表。
Worksheets
(1).Activate
本示例通过将Saved属性设为True来关闭包含本段代码的工作簿,并放弃对该
工作簿的任何更改。
ThisWorkbook.Saved=TrueThisWorkbook.Close
本示例对自动重新计算功能进行设置,使MicrosoftExcel不对第一张工作表自
动进行重新计算。
Worksheets
(1).EnableCalculation=False
下述过程打开C盘上名为MyFolder的文件夹中的MyBook.xls工作簿。
Workbooks.Open("
/MyFolder/MyBook.xls"
)
本示例显示活动工作簿中工作表sheet1上单元格A1中的值。
MsgBoxWorksheets("
Sheet1"
).Range("
A1"
).Value
本示例显示活动工作簿中每个工作表的名称ForEachwsInWorksheetsMsgBoxws.NameNextws
本示例向活动工作簿添加新工作表,并设置该工作表的名称?
SetNewSheet=Worksheets.AddNewSheet.Name="
currentBudget"
本示例将新建的工作表移到工作簿的末尾&
PrivateSubWorkbook_NewSheet(ByValShAsObject)Sh.MoveAfter:
=Sheets(Sheets.Count)EndSub
本示例将新建工作表移到工作簿的末尾&
PrivateSubApp_WorkbookNewSheet(ByValWbAsWorkbook,_ByValShAsObject)Sh.MoveAfter:
=Wb.Sheets(Wb.Sheets.Count)EndSub
本示例新建一张工作表,然后在第一列中列出活动工作簿中的所有工作表的名称。
SetNewSheet=Sheets.Add(Type:
=xlWorksheet)
Fori=1ToSheets.Count
NewSheet.Cells(i,1).Value=Sheets(i).NameNexti
本示例将第十行移到窗口的最上面?
Worksheets("
).ActivateActiveWindow.ScrollRow=10
当计算工作簿中的任何工作表时,本示例对第一张工作表的A1:
A100区域进行排序
。
PrivateSubWorkbook_SheetCalculate(ByValShAsObject)WithWorksheets
(1).Range("
a1:
a100"
).SortKey1:
=.Range("
a1"
)EndWithEndSub本示例显示工作表Sheet1的打印预览。
Worksheets("
).PrintPreview
本示例保存当前活动工作簿?
ActiveWorkbook.Save
本示例保存所有打开的工作簿,然后关闭MicrosoftExcel。
ForEachwInApplication.Workbooksw.SaveNextwApplication.Quit
下例在活动工作簿的第一张工作表前面添加两张新的工作表?
Worksheets.AddCount:
=2,Before:
=Sheets
(1)
本示例设置15秒后运行my_Procedure过程,从现在开始计时。
Application.OnTimeNow+TimeValue("
00:
15"
),"
my_Procedure"
本示例设置my_Procedure在下午5点开始运行。
Application.OnTimeTimeValue("
17:
00"
本示例撤消前一个示例对OnTime的设置。
Application.OnTimeEarliestTime:
=TimeValue("
),_Procedure:
="
Schedule:
=False
每当工作表重新计算时,本示例就调整A列到F列的宽度。
PrivateSubWorksheet_Calculate()Columns("
A:
F"
).AutoFitEndSub
本示例使活动工作簿中的计算仅使用显示的数字精度。
ActiveWorkbook.PrecisionAsDisplayed=True
本示例将工作表Sheet1上的A1:
G37区域剪下,并放入剪贴板。
A1:
G37"
).Cut
Calculate方法计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元格,如下表所示:
要计算&
依照本示例所有打开的工作簿
Application.Calculate(或只是Calculate)指定工作表&
计算指定工作表Sheet1Worksheets
("
).Calculate指定区域&
Worksheets
(1).Rows
(2).Calculate
本示例对自动重新计算功能进行设置,使MicrosoftExcel不对第一张工作表自动进行重新计算。
Worksheets
(1).EnableCalculation=False
本示例计算Sheet1已用区域中A列、B列和C列的公式。
).UsedRange.Columns("
C"
).Calculate
本示例更新当前活动工作簿中的所有链接?
ActiveWorkbook.UpdateLinkName:
=ActiveWorkbook.LinkSources
本示例设置第一张工作表的滚动区域?
Worksheets
(1).ScrollArea="
f10"
本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。
SetNewBook=Workbooks.AddDofName=Application.GetSaveAsFilenameLoopUntilfNameFalseNewBook.SaveAsFilename:
=fName
本示例打开Analysis.xls工作簿,然后运行Auto_Open宏。
Workbooks.Open"
ANALYSIS.XLS"
ActiveWorkbook.RunAutoMacrosxlAutoOpen
本示例对活动工作簿运行Auto_Close宏,然后关闭该工作簿。
WithActiveWorkbook.RunAutoMacrosxlAutoClose.CloseEndWith
在本示例中,MicrosoftExcel向用户显示活动工作簿的路径和文件名称。
SubUseCanonical()Displaythefullpathtouser.MsgBoxActiveWorkbook.FullNameURLEncodedEndSub
本示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿)。
MsgBoxActiveWorkbook.FullName
本示例关闭Book1.xls,并放弃所有对此工作簿的更改。
Workbooks("
BOOK1.XLS"
).CloseSaveChanges:
本示例关闭所有打开的工作簿。
如果某个打开的工作簿有改变,MicrosoftExcel
将显示询问是否保存更改的对话框和相应提示。
Workbooks.Close
本示例在打印之前对当前活动工作簿的所有工作表重新计算?
PrivateSubWorkbook_BeforePrint(CancelAsBoolean)ForEachwkInWorksheetswk.CalculateNextEndSub
本示例对查询表一中的第一列数据进行汇总,并在数据区域下方显示第一列数据的总和。
Setc1=Sheets("
sheet1"
).QueryTables
(1).ResultRange.Columns
(1)c1.Name="
Column1"
c1.End(xlDown).Offset(2,0).Formula="
=sum(Column1)"
本示例取消活动工作簿中的所有更改?
ActiveWorkbook.RejectAllChanges
本示例在商业问题中使用规划求解函数,以使总利润达到最大值。
SolverSave函数将当前问题保存到活动工作表上的某一区域。
).ActivateSolverResetSolverOptionsPrecision:
=0.001SolverOKSetCell:
=Range("
TotalProfit"
),_MaxMinVal:
=1,_ByChange:
C4:
E6"
)SolverAddCellRef:
F4:
F6"
),_Relation:
=1,_FormulaText:
=100SolverAddCellRef:
=3,_FormulaText:
=0SolverAddCellRef:
E6