EXCELVBA工作表操作全能方法小结.doc

上传人:scccc 文档编号:13807890 上传时间:2022-01-24 格式:DOC 页数:13 大小:98KB
返回 下载 相关 举报
EXCELVBA工作表操作全能方法小结.doc_第1页
第1页 / 共13页
EXCELVBA工作表操作全能方法小结.doc_第2页
第2页 / 共13页
EXCELVBA工作表操作全能方法小结.doc_第3页
第3页 / 共13页
EXCELVBA工作表操作全能方法小结.doc_第4页
第4页 / 共13页
EXCELVBA工作表操作全能方法小结.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《EXCELVBA工作表操作全能方法小结.doc》由会员分享,可在线阅读,更多相关《EXCELVBA工作表操作全能方法小结.doc(13页珍藏版)》请在三一文库上搜索。

1、EXCEL VBA 工作表操作全能方法小结 示例 04-01 增加工作表 (Add 方法 )Sub AddWorksheet()MsgBox 在当前工作簿中添加一个工作表 Worksheets.AddMsgBox 在当前工作簿中的工作表 sheet2 之前添加一个工作表 Worksheets.Add before:=Worksheets(sheet2)MsgBox 在当前工作簿中的工作表 sheet2 之后添加一个工作表 Worksheets.Add after:=Worksheets(sheet2)MsgBox 在当前工作簿中添加 3 个工作表 Worksheets.Add Count:=3

2、End Sub示例说明: Add 方法带有 4 个可选的参数,其中参数 Before 和参数 After 指定所增加的工作 表的位置,但两个参数只能选一;参数 Count 用来指定增加的工作表数目。 示例 04-02 复制工作表 (Copy 方法 )Sub CopyWorksheet()MsgBox 在当前工作簿中复制工作表 sheet1 并将所复制的工作表放在工作表sheet2 之前 Worksheets(sheet1).Copy Before:=Worksheets(sheet2)MsgBox 在当前工作簿中复制工作表 sheet2 并将所复制的工作表放在工作表sheet3 之后 Work

3、sheets(sheet2).Copy After:=Worksheets(sheet3)End Sub示例说明: Copy 方法带有 2 个可选的参数,即参数 Before 和参数 After ,在使用时两个参数 只参选一。 示例 04-03 移动工作表 (Move 方法 )Sub MoveWorksheet()MsgBox 在当前工作簿中将工作表 sheet3 移至工作表 sheet2 之前 Worksheets(sheet3).Move Before:=Worksheets(sheet2)MsgBox 在当前工作簿中将工作表 sheet1 移至最后 Worksheets(sheet1).

4、Move After:=Worksheets(Worksheets.Count)End Sub示例说明:Move方法与Copy方法的参数相同,作用也一样。 示例 04-04 隐藏和显示工作表 (Visible 属性 ) 示例 04-04-01Sub testHide()MsgBox 第一次隐藏工作表 sheet1Worksheets(sheet1).Visible = FalseMsgBox 显示工作表 sheet1Worksheets(sheet1).Visible = TrueMsgBox 第二次隐藏工作表 sheet1Worksheets(sheet1).Visible = xlShee

5、tHiddenMsgBox 显示工作表 sheet1Worksheets(sheet1).Visible = TrueMsgBox 第三次隐藏工作表 sheet1Worksheets(sheet1).Visible = xlSheetHiddenMsgBox 显示工作表 sheet1Worksheets(sheet1).Visible = xlSheetVisibleMsgBox 第四隐藏工作表 sheet1Worksheets(sheet1).Visible = xlSheetVeryHiddenMsgBox 显示工作表 sheet1Worksheets(sheet1).Visible =

6、TrueMsgBox 第五隐藏工作表 sheet1Worksheets(sheet1).Visible = xlSheetVeryHiddenMsgBox 显示工作表 sheet1Worksheets(sheet1).Visible = xlSheetVisibleEnd Sub 示例说明:本示例演示了隐藏和显示工作表的各种情形。其中,使用 xlSheetVeryHidden 常 量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”“工作表”“取消隐 藏”命令来取消隐藏。 示例 04-04-02Sub ShowAllSheets()MsgBox 使当前工作簿中的所有工作表都显示 ( 即将隐藏

7、的工作表也显示 )Dim ws As WorksheetFor Each ws In Sheetsws.Visible = TrueNext wsEnd Sub 示例 04-05 获取工作表数 (Count 属性 ) 示例 04-05-01Sub WorksheetNum()Dim i As Longi = Worksheets.CountMsgBox 当前工作簿的工作表数为: & Chr(10) & i End Sub 示例 04-05-02Sub WorksheetNum()Dim i As Longi = Sheets.CountMsgBox 当前工作簿的工作表数为: & Chr(10)

8、 & iEnd Sub 示例说明:在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原 因是对于 Sheets 集合来讲,工作表包含图表工作表。应注意 Worksheets 集合与 Sheets 集合 的区别,下同。示例04-06获取或设置工作表名称(Name属性) 示例 04-06-01Sub NameWorksheet()Dim sName As String, sChangeName As StringsName = Worksheets(2).NameMsgBox 当前工作簿中第 2 个工作表的名字为: & sName sChangeName = 我的工作表 MsgB

9、ox 将当前工作簿中的第 3 个工作表名改为: & sChangeName Worksheets(3).Name = sChangeNameEnd Sub示例说明:使用 Name属性可以获取指定工作表的名称,也可以设置工作表的名称。 示例 04-06-02 重命名工作表Sub ReNameSheet()Dim xStr As StringRetry:Err.ClearxStr = InputBox( 请输入工作表的新名称 : , 重命名工作表 , ActiveSheet.Name)If xStr = Then Exit SubOn Error Resume NextActiveSheet.Na

10、me = xStrIf Err.Number 0 ThenMsgBox Err.Number & & Err.DescriptionErr.ClearGoTo RetryEnd IfOn Error GoTo 0End SubNextPage 示例 04-07 激活 / 选择工作表 (Activate 方法和 Select 方法 ) 示例 04-07-01Sub SelectWorksheet()MsgBox 激活当前工作簿中的工作表sheet2Worksheets(sheet2).ActivateMsgBox 激活当前工作簿中的工作表sheet3Worksheets(sheet3).Sele

11、ctMsgBox 同时选择工作簿中的工作表sheet2 和 sheet3Worksheets(Array(sheet2, sheet3).SelectEnd Sub示例说明: Activate 方法只能激活一个工作表,而 Select 方法可以同时选择多个工作表。 示例 04-07-02Sub SelectManySheet()IIMsgBox 选取第一个和第三个工作表Worksheets(1).SelectWorksheets(3).Select FalseEnd Sub 示例 04-08 获取当前工作表的索引号 (Index 属性 ) Sub GetSheetIndex()Dim i As

12、 Longi = ActiveSheet.IndexMsgBox 您正使用的工作表索引号为 & iEnd Sub 示例 04-09 选取前一个工作表 (Previous 属性 )Sub PreviousSheet()If ActiveSheet.Index 1 ThenMsgBox 选取当前工作簿中当前工作表的前一个工作表 ActiveSheet.Previous.ActivateElseMsgBox 已到第一个工作表 End IfEnd Sub示例说明:如果当前工作表是第一个工作表,则使用 Previous 属性会出错。 示例 04-10 选取下一个工作表 (Next 属性 )Sub Nex

13、tSheet()If ActiveSheet.Index Worksheets.Count ThenMsgBox 选取当前工作簿中当前工作表的下一个工作表ActiveSheet.Next.ActivateElseMsgBox “已到最后一个工作表”End IfEnd Sub示例说明:如果当前工作表是最后一个工作表,则使用Next 属性会出错。 示例 04-11 工作表行和列的操作 示例 04-11-01 隐藏行Sub HideRow()Dim iRow As LongMsgBox 隐藏当前单元格所在的行 iRow = ActiveCell.Row ActiveSheet.Rows(iRow).

14、Hidden = TrueMsgBox 取消隐藏 ActiveSheet.Rows(iRow).Hidden = FalseEnd Sub 示例 04-11-02 隐藏列Sub HideColumn()Dim iColumn As LongMsgBox 隐藏当前单元格所在列 iColumn = ActiveCell.Column ActiveSheet.Columns(iColumn).Hidden = TrueMsgBox 取消隐藏 ActiveSheet.Columns(iColumn).Hidden = FalseEnd Sub 示例 04-11-03 插入行Sub InsertRow(

15、)Dim rRow As LongMsgBox 在当前单元格上方插入一行 rRow = Selection.Row ActiveSheet.Rows(rRow).InsertEnd Sub 示例 04-11-04 插入列Sub InsertColumn()Dim cColumn As LongMsgBox 在当前单元格所在行的左边插入一行cColumn = Selection.ColumnActiveSheet.Columns(cColumn).InsertEnd Sub 示例 04-11-05 插入多行Sub InsertManyRow()MsgBox 在当前单元格所在行上方插入三行Dim

16、rRow As Long, i As LongFor i = 1 To 3rRow = Selection.RowActiveSheet.Rows(rRow).InsertNext iEnd Sub 示例 04-11-06 设置行高Sub SetRowHeight()MsgBox 将当前单元格所在的行高设置为 25 Dim rRow As Long, iRow As Long rRow = ActiveCell.RowiRow = ActiveSheet.Rows(rRow).RowHeight ActiveSheet.Rows(rRow).RowHeight = 25 MsgBox 恢复到原

17、来的行高 ActiveSheet.Rows(rRow).RowHeight = iRowEnd Sub 示例 04-11-07 设置列宽Sub SetColumnWidth()MsgBox 将当前单元格所在列的列宽设置为 20 Dim cColumn As Long, iColumn As Long cColumn = ActiveCell.ColumniColumn = ActiveSheet.Columns(cColumn).ColumnWidthActiveSheet.Columns(cColumn).ColumnWidth = 20MsgBox 恢复至原来的列宽 ActiveSheet

18、.Columns(cColumn).ColumnWidth = iColumnEnd Sub 示例 04-11-08 恢复行高列宽至标准值Sub ReSetRowHeightAndColumnWidth()MsgBox 将当前单元格所在的行高和列宽恢复为标准值Selection.UseStandardHeight = TrueSelection.UseStandardWidth = TrueEnd Sub 示例 04-12 工作表标签 示例 04-12-01 设置工作表标签的颜色 Sub SetSheetTabColor()MsgBox 设置当前工作表标签的颜色ActiveSheet.Tab.

19、ColorIndex = 7End Sub 示例 04-12-01 恢复工作表标签颜色Sub SetSheetTabColorDefault()MsgBox 将当前工作表标签颜色设置为默认值ActiveSheet.Tab.ColorIndex = -4142End Sub 示例 04-12-03 交替隐藏或显示工作表标签Sub HideOrShowSheetTab()MsgBox 隐藏 / 显示工作表标签 ActiveWindow.DisplayWorkbookTabs = Not ActiveWindow.DisplayWorkbookTabs End SubNextPage 示例 04-1

20、3 确定打印的页数 (HPageBreaks 属性与 VPageBreaks 属性 ) Sub PageCount()Dim i As Longi = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1) MsgBox 当前工作表共 & i & 页 .End Sub 示例 04-14 保护 / 撤销保护工作表 示例 04-14-01Sub ProtectSheet()MsgBox 保护当前工作表并设定密码 ActiveSheet.Protect Password:=fanjyEnd Sub 示例说明:

21、运行代码后,当前工作表中将不允许编辑,除非撤销工作表保护。 示例 04-14-02Sub UnprotectSheet()MsgBox 撤销当前工作表保护 ActiveSheet.UnprotectEnd Sub 示例说明:运行代码后,如果原保护的工作表设置有密码,则要求输入密码。 示例 04-14-03 保护当前工作簿中的所有工作表Sub ProtectAllWorkSheets()On Error Resume NextDim ws As WorksheetDim myPassword As StringmyPassword = InputBox( 请输入您的密码 & vbCrLf & _

22、( 不输入表明无密码 ) & vbCrLf & vbCrLf & _ 确保您没有忘记密码! , 输入密码 )For Each ws In ThisWorkbook.Worksheetsws.Protect (myPassword)Next wsEnd Sub 示例 04-14-04 撤销对当前工作簿中所有工作表的保护Sub UnprotectAllWorkSheets()On Error Resume NextDim ws As WorksheetDim myPassword As StringmyPassword = InputBox( 请输入您的密码 & vbCrLf & _( 不输入表示

23、无密码 ), 输入密码 )For Each ws In ThisWorkbook.Worksheetsws.Unprotect (myPassword)Next wsEnd Sub 示例 04-14-05 仅能编辑未锁定的单元格Sub OnlyEditUnlockedCells()Sheets(Sheet1).EnableSelection = xlUnlockedCellsActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=TrueEnd Sub 示例说明:运行本代码后,在当前工作表中将只能对未锁定的单元格进行编辑,而其它单元 格将不能编辑。未锁定的单元格是指在选择菜单“格式单元格”命令后所弹出的对话框 中的“保护”选项卡中,未选中“锁定”复选框的单元格或单元格区域。 示例 04-15 删除工作表 (Delete 方法 )Sub DeleteWorksheet()MsgBox 删除当前工作簿中的工作表 sheet2Application.DisplayAlerts = FalseWorksheets(sheet2).DeleteApplication.DisplayAlerts = TrueEnd Sub

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1