EXCEL宏代码.docx

上传人:b****7 文档编号:9526068 上传时间:2023-02-05 格式:DOCX 页数:38 大小:37.19KB
下载 相关 举报
EXCEL宏代码.docx_第1页
第1页 / 共38页
EXCEL宏代码.docx_第2页
第2页 / 共38页
EXCEL宏代码.docx_第3页
第3页 / 共38页
EXCEL宏代码.docx_第4页
第4页 / 共38页
EXCEL宏代码.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

EXCEL宏代码.docx

《EXCEL宏代码.docx》由会员分享,可在线阅读,更多相关《EXCEL宏代码.docx(38页珍藏版)》请在冰豆网上搜索。

EXCEL宏代码.docx

EXCEL宏代码

本示例为设置密码窗口

(1) 

IfApplication.InputBox("请输入密码:

")=1234Then 

[A1]=1'密码正确时执行 

Else:

MsgBox"密码错误,即将退出!

"'此行与第2行共同设置密码 

EndIf 

本示例为设置密码窗口

(1) 

X=MsgBox("是否真的要结帐?

",vbYesNo) 

IfX=vbYesThen 

Close 

本示例为设置工作表密码 

ActiveSheet.ProtectPassword:

=641112'保护工作表并设置密码 

ActiveSheet.UnprotectPassword:

=641112'撤消工作表保护并取消密码 

'本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。

 

ForEachwInWorkbooks 

Ifw.Name<>ThisWorkbook.NameThen 

w.CloseSaveChanges:

=True 

EndIf 

Nextw 

'每次打开工作簿时,本示例都最大化MicrosoftExcel窗口。

 

Application.WindowState=xlMaximized 

'本示例显示活动工作表的名称。

 

MsgBox"Thenameoftheactivesheetis"&ActiveSheet.Name 

'本示例保存当前活动工作簿的副本。

 

ActiveWorkbook.SaveCopyAs"C:

\TEMP\XXXX.XLS" 

'下述过程激活工作簿中的第四张工作表。

 

Sheets(4).Activate 

'下述过程激活工作簿中的第1张工作表。

 

Worksheets

(1).Activate 

'本示例通过将Saved属性设为True来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。

 

ThisWorkbook.Saved=True 

ThisWorkbook.Close 

'本示例对自动重新计算功能进行设置,使MicrosoftExcel不对第一张工作表自动进行重新计算。

 

Worksheets

(1).EnableCalculation=False 

'下述过程打开C盘上名为MyFolder的文件夹中的MyBook.xls工作簿。

 

Workbooks.Open("C:

\MyFolder\MyBook.xls") 

'本示例显示活动工作簿中工作表sheet1上单元格A1中的值。

 

MsgBoxWorksheets("Sheet1").Range("A1").Value 

本示例显示活动工作簿中每个工作表的名称 

ForEachwsInWorksheets 

MsgBoxws.Name 

Nextws 

本示例向活动工作簿添加新工作表,并设置该工作表的名称?

 

SetNewSheet=Worksheets.Add 

NewSheet.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).Name 

Nexti 

本示例将第十行移到窗口的最上面?

 

Worksheets("Sheet1").Activate 

ActiveWindow.ScrollRow=10 

当计算工作簿中的任何工作表时,本示例对第一张工作表的A1:

A100区域进行排序。

 

'PrivateSubWorkbook_SheetCalculate(ByValShAsObject) 

WithWorksheets

(1) 

.Range("a1:

a100").SortKey1:

=.Range("a1") 

EndWith 

EndSub 

本示例显示工作表Sheet1的打印预览。

 

Worksheets("Sheet1").PrintPreview 

本示例保存当前活动工作簿?

 

ActiveWorkbook.Save 

本示例保存所有打开的工作簿,然后关闭MicrosoftExcel。

 

ForEachwInApplication.Workbooks 

w.Save 

Nextw 

Application.Quit 

下例在活动工作簿的第一张工作表前面添加两张新的工作表?

 

Worksheets.AddCount:

=2,Before:

=Sheets

(1) 

本示例设置15秒后运行my_Procedure过程,从现在开始计时。

 

Application.OnTimeNow+TimeValue("00:

00:

15"),"my_Procedure" 

本示例设置my_Procedure在下午5点开始运行。

 

Application.OnTimeTimeValue("17:

00:

00"),"my_Procedure" 

本示例撤消前一个示例对OnTime的设置。

 

Application.OnTimeEarliestTime:

=TimeValue("17:

00:

00"),_ 

Procedure:

="my_Procedure",Schedule:

=False 

每当工作表重新计算时,本示例就调整A列到F列的宽度。

 

'PrivateSubWorksheet_Calculate() 

Columns("A:

F").AutoFit 

EndSub 

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

 

ActiveWorkbook.PrecisionAsDisplayed=True 

本示例将工作表Sheet1上的A1:

G37区域剪下,并放入剪贴板。

 

Worksheets("Sheet1").Range("A1:

G37").Cut 

Calculate方法 

计算所有打开的工作簿、工作簿中的一张特定的工作表或者工作表中指定区域的单元格,如下表所示:

 

'要计算'依照本示例 

所有打开的工作簿'Application.Calculate(或只是Calculate) 

指定工作表'计算指定工作表Sheet1Worksheets("Sheet1").Calculate 

指定区域'Worksheets

(1).Rows

(2).Calculate 

本示例对自动重新计算功能进行设置,使MicrosoftExcel不对第一张工作表自动进行重新计算。

 

Worksheets

(1).EnableCalculation=False 

本示例计算Sheet1已用区域中A列、B列和C列的公式。

 

Worksheets("Sheet1").UsedRange.Columns("A:

C").Calculate 

本示例更新当前活动工作簿中的所有链接?

 

ActiveWorkbook.UpdateLinkName:

=ActiveWorkbook.LinkSources 

本示例设置第一张工作表的滚动区域?

 

Worksheets

(1).ScrollArea="a1:

f10" 

本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。

 

SetNewBook=Workbooks.Add 

Do 

fName=Application.GetSaveAsFilename 

LoopUntilfName<>False 

NewBook.SaveAsFilename:

=fName 

本示例打开Analysis.xls工作簿,然后运行Auto_Open宏。

 

Workbooks.Open"ANALYSIS.XLS" 

ActiveWorkbook.RunAutoMacrosxlAutoOpen 

本示例对活动工作簿运行Auto_Close宏,然后关闭该工作簿。

 

WithActiveWorkbook 

.RunAutoMacrosxlAutoClose 

.Close 

EndWith 

在本示例中,MicrosoftExcel向用户显示活动工作簿的路径和文件名称。

 

'SubUseCanonical() 

Displaythefullpathtouser. 

MsgBoxActiveWorkbook.FullNameURLEncoded 

EndSub 

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

 

MsgBoxActiveWorkbook.FullName 

本示例关闭Book1.xls,并放弃所有对此工作簿的更改。

 

Workbooks("BOOK1.XLS").CloseSaveChanges:

=False 

本示例关闭所有打开的工作簿。

如果某个打开的工作簿有改变,MicrosoftExcel将显示询问是否保存更改的对话框和相应提示。

 

Workbooks.Close 

本示例在打印之前对当前活动工作簿的所有工作表重新计算?

 

'PrivateSubWorkbook_BeforePrint(CancelAsBoolean) 

ForEachwkInWorksheets 

wk.Calculate 

Next 

EndSub 

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

 

Setc1=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 

SolverOptionsPrecision:

=0.001 

SolverOKSetCell:

=Range("TotalProfit"),_ 

MaxMinVal:

=1,_ 

ByChange:

=Range("C4:

E6") 

SolverAddCellRef:

=Range("F4:

F6"),_ 

Relation:

=1,_ 

FormulaText:

=100 

SolverAddCellRef:

=Range("C4:

E6"),_ 

Relation:

=3,_ 

FormulaText:

=0 

SolverAddCellRef:

=Range("C4:

E6"),_ 

Relation:

=4 

SolverSolveUserFinish:

=False 

SolverSaveSaveArea:

=Range("A33") 

本示例隐藏Chart1、Chart3和Chart5。

 

Charts(Array("Chart1","Chart3","Chart5")).Visible=False 

当激活工作表时,本示例对A1:

A10区域进行排序。

 

'PrivateSubWorksheet_Activate() 

Range("a1:

a10").SortKey1:

=Range("a1"),Order:

=xlAscending 

EndSub 

本示例更改MicrosoftExcel链接。

 

ActiveWorkbook.ChangeLink"c:

\excel\book1.xls",_ 

"c:

\excel\book2.xls",xlExcelLinks 

本示例启用受保护的工作表上的自动筛选箭头?

 

ActiveSheet.EnableAutoFilter=True 

ActiveSheet.Protectcontents:

=True,userInterfaceOnly:

=True 

本示例将活动工作簿设为只读?

 

ActiveWorkbook.ChangeFileAccessMode:

=xlReadOnly 

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

 

ActiveWorkbook.AutoUpdateFrequency=3 

下述Sub过程清除活动工作簿中Sheet1上的所有单元格的内容。

 

'SubClearSheet() 

Worksheets("Sheet1").Cells.ClearContents 

EndSub 

本示例对所有工作簿都关闭滚动条?

 

Application.DisplayScrollBars=False 

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

 

'SubSetPasswordOptions() 

WithActiveWorkbook 

If.PasswordEncryptionProvider<>"MicrosoftRSASChannelCryptographicProvider"Then 

.SetPasswordEncryptionOptions_ 

PasswordEncryptionProvider:

="MicrosoftRSASChannelCryptographicProvider",_ 

PasswordEncryptionAlgorithm:

="RC4",_ 

PasswordEncryptionKeyLength:

=56,_ 

PasswordEncryptionFileProperties:

=True 

EndIf 

EndWith 

EndSub 

在本示例中,如果活动工作簿不能进行写保护,那么MicrosoftExcel设置字符串密码以作为活动工作簿的写密码。

 

'SubUseWritePassword() 

DimstrPasswordAsString 

strPassword="secret" 

'Setpasswordtoastringifallowed. 

IfActiveWorkbook.WriteReserved=FalseThen 

ActiveWorkbook.WritePassword=strPassword 

EndIf 

EndSub 

在本示例中,MicrosoftExcel打开名为Password.xls的工作簿,设置它的密码,然后关闭该工作簿。

本示例假定名为Password.xls的文件位于C:

\驱动器上。

 

'SubUsePassword() 

DimwkbOneAsWorkbook 

SetwkbOne=Application.Workbooks.Open("C:

\Password.xls") 

wkbOne.Password="secret" 

wkbOne.Close 

'注意Password属性可读并返回“********”。

 

EndSub 

本示例将Book1.xls的当前窗口更改为显示公式。

 

Workbooks("BOOK1.XLS").Worksheets("Sheet1").Activate 

ActiveWindow.DisplayFormulas=True 

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

 

ActiveWorkbook.AcceptAllChanges 

本示例显示活动工作簿的路径和名称 

SubUseCanonical() 

MsgBox'消息框 

[b7]=ActiveWorkbook.FullName'当前工作簿 

[b8]=ActiveWorkbook.FullNameURLEncoded'活动工作簿 

EndSub 

本示例显示MicrosoftExcel启动文件夹的完整路径。

 

MsgBoxApplication.StartupPath 

本示例显示活动工作簿中每个工作表的名称。

 

ForEachwsInWorksheets 

MsgBoxws.Name 

Nextws 

本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容。

 

ForEachwInWorkbooks 

Ifw.Name<>ThisWorkbook.NameThen 

w.Closesavechanges:

=True 

EndIf 

Nextw 

Activate事件 

激活一个工作簿、工作表、图表或嵌入图表时产生此事件。

 

当激活工作表时,本示例对A1:

A10区域进行排序。

 

PrivateSubWorksheet_Activate() 

Range("a1:

a10").SortKey1:

=Range("a1"),Order:

=xlAscending 

EndSub 

Calculate事件 

对于Worksheet对象,在对工作表进行重新计算之后产生此事件 

每当工作表重新计算时,本示例就调整A列到F列的宽度。

 

PrivateSubWorksheet_Calculate() 

Columns("A:

F").AutoFit 

EndSub 

BeforeDoubleClick事件 

应用于Worksheet对象的Activate方法。

 

当双击某工作表时产生此事件,此事件先于默认的双击操作。

 

PrivateSubexpression_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean) 

expression引用在类模块中带有事件声明的Worksheet类型对象的变量。

 

Target必需。

双击发生时最靠近鼠标指针的单元格。

 

Cancel可选。

当事件发生时为False。

如果事件过程将该参数设为True,则该过程执行完之后将不进行默认的双击操作。

 

BeforeRightClick事件 

应用于Worksheet对象的Activate方法。

 

当用鼠标右键单击某工作表时产生此事件,此事件先于默认的右键单击操作。

 

PrivateSubexpression_BeforeRightClick(ByValTargetAsRange,CancelAsBoolean) 

expression引用在类模块中带有事件声明的Worksheet类型对象的变量。

 

Target必需。

右键单击发生时最靠近鼠标指针的单元格。

 

Cancel可选。

当事件发生时为False。

如果该事件过程将本参数设为True,则该过程执行结束之后不进行默认的右键单击操作。

 

Change事件 

当用户更改工作表中的单元格,或外部链接引起单元格的更改时产生此事件。

 

PrivateSubWorksheet_Change(ByValTargetAsRange) 

Target更改的区域。

可以是多个单元格。

 

说明 

重新计算引起的单元格更改不触发本事件。

可使用Calculate事件俘获工作表重新计算操作。

 

本示例将更改的单元格的颜色设为蓝色。

 

PrivateSubWorksheet_Change(ByValTargetasRange) 

Target.Font.ColorIndex=5 

EndSub 

Deactivate事件 

图表、工作表或工作簿从活动状态转为非活动状态时产生此事件。

 

PrivateSubobject_Deactivate() 

objectChart、Workbook或者Worksheet。

有关对Chart对象使用事件的详细信息,请参阅Chart对象事件的用法。

 

本示例当工作簿转为非活动状态时,对所有打开的窗口进行排列。

 

PrivateSubWorkbook_Deactivate() 

Application.Windows.ArrangexlArrangeStyleTiled 

EndSub 

FollowHyperlink事件 

当单击工作表上的任意超链接时,发生此事件。

对于应用程序级或工作簿级的事件,请参阅SheetFollowHyperlink事件。

 

PrivateSubWorksheet_FollowHyperlink(ByValTargetAsHyperlink) 

TargetHyperlink类型,必需。

一个代表超链接目标位置的Hyperlink对象。

 

本示例对在当前活动工作簿中访问过的所有链接保留一个列表或历史记录。

 

PrivateSubWorksheet_FollowHyperlink(ByValTargetAsHyperlink) 

WithUserForm1 

.ListBox1.AddItemTarget.Address 

.Show 

EndWith 

EndSub 

PivotTableUpdate事件 

发生在工作簿中的数据透视表更新之后。

 

PrivateSubexpression_PivotTableUpdate(ByValTargetAsPivotTable) 

expression引用在类模块中带有事件声明的Worksheet类型对象的变量。

 

Target必需。

选定的数据透视表。

 

本示例显示一则消息,说明数据透视表已经更新。

本示例假定您已在类模块中声明了带有事件的Worksheet类型的对象。

 

PrivateSubWorksheet_PivotTableUpdate(ByValTargetAsPivotTable) 

MsgBox"ThePivotTableconnectionhasbeenupdated." 

EndSub 

SelectionChange事件 

当工作表上的选定区域发生改变时,将产生

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1