EXCEL VBA工作表操作全能方法小结_excelvba操作技巧

2020-02-29 其他工作总结 下载本文

EXCEL VBA工作表操作全能方法小结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“excelvba操作技巧”。

EXCEL VBA工作表操作全能方法小结

[示例04-01]增加工作表(Add方法)Sub AddWorksheet()MsgBox “在当前工作簿中添加一个工作表” Worksheets.Add MsgBox “在当前工作簿中的工作表sheet2之前添加一个工作表” Worksheets.Add before:=Worksheets(“sheet2”)MsgBox “在当前工作簿中的工作表sheet2之后添加一个工作表” Worksheets.Add after:=Worksheets(“sheet2”)MsgBox “在当前工作簿中添加3个工作表” Worksheets.Add Count:=3 End Sub 示例说明:Add方法带有4个可选的参数,其中参数Before和参数After指定所增加的工作表的位置,但两个参数只能选一;参数Count用来指定增加的工作表数目。

------------------[示例04-02]复制工作表(Copy方法)Sub CopyWorksheet()MsgBox “在当前工作簿中复制工作表sheet1并将所复制的工作表放在工作表sheet2之前” Worksheets(“sheet1”).Copy Before:=Worksheets(“sheet2”)MsgBox “在当前工作簿中复制工作表sheet2并将所复制的工作表放在工作表sheet3之后” Worksheets(“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”).Move After:=Worksheets(Worksheets.Count)End Sub 示例说明:Move方法与Copy方法的参数相同,作用也一样。

------------------[示例04-04]隐藏和显示工作表(Visible属性)[示例04-04-01] Sub testHide()MsgBox “第一次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = False MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第二次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第三次隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible MsgBox “第四隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = True MsgBox “第五隐藏工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVeryHidden MsgBox “显示工作表sheet1” Worksheets(“sheet1”).Visible = xlSheetVisible End Sub 示例说明:本示例演示了隐藏和显示工作表的各种情形。其中,使用xlSheetVeryHidden常量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”——“工作表”——“取消隐藏”命令来取消隐藏。

------------------[示例04-04-02] Sub ShowAllSheets()MsgBox “使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)” Dim ws As Worksheet For Each ws In Sheets ws.Visible = True Next ws End Sub

------------------[示例04-05]获取工作表数(Count属性)[示例04-05-01] Sub WorksheetNum()Dim i As Long i = Worksheets.Count MsgBox “当前工作簿的工作表数为:” & Chr(10)& i End Sub

------------------[示例04-05-02] Sub WorksheetNum()Dim i As Long i = Sheets.Count MsgBox “当前工作簿的工作表数为:” & Chr(10)& i End Sub 示例说明:在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原因是对于Sheets集合来讲,工作表包含图表工作表。应注意Worksheets集合与Sheets集合的区别,下同。

------------------[示例04-06]获取或设置工作表名称(Name属性)[示例04-06-01] Sub NameWorksheet()Dim sName As String, sChangeName As String sName = Worksheets(2).Name MsgBox “当前工作簿中第2个工作表的名字为:” & sName sChangeName = “我的工作表” MsgBox “将当前工作簿中的第3个工作表名改为:” & sChangeName Worksheets(3).Name = sChangeName End Sub 示例说明:使用Name属性可以获取指定工作表的名称,也可以设置工作表的名称。

------------------[示例04-06-02]重命名工作表 Sub ReNameSheet()Dim xStr As String Retry: Err.Clear xStr = InputBox(“请输入工作表的新名称:” _ , “重命名工作表”, ActiveSheet.Name)If xStr = “” Then Exit Sub On Error Resume Next ActiveSheet.Name = xStr If Err.Number 0 Then MsgBox Err.Number & “ ” & Err.Description Err.Clear GoTo Retry End If On Error GoTo 0 '.........End Sub

------------------[NextPage][示例04-07]激活/选择工作表(Activate方法和Select方法)[示例04-07-01] Sub SelectWorksheet()MsgBox “激活当前工作簿中的工作表sheet2” Worksheets(“sheet2”).Activate MsgBox “激活当前工作簿中的工作表sheet3” Worksheets(“sheet3”).Select MsgBox “同时选择工作簿中的工作表sheet2和sheet3” Worksheets(Array(“sheet2”, “sheet3”)).Select End Sub 示例说明:Activate方法只能激活一个工作表,而Select方法可以同时选择多个工作表。

------------------[示例04-07-02] Sub SelectManySheet()MsgBox “选取第一个和第三个工作表.” Worksheets(1).Select Worksheets(3).Select False End Sub

------------------[示例04-08]获取当前工作表的索引号(Index属性)Sub GetSheetIndex()Dim i As Long i = ActiveSheet.Index MsgBox “您正使用的工作表索引号为” & i End Sub

------------------[示例04-09]选取前一个工作表(Previous属性)Sub PreviousSheet()If ActiveSheet.Index 1 Then MsgBox “选取当前工作簿中当前工作表的前一个工作表” ActiveSheet.Previous.Activate Else MsgBox “已到第一个工作表” End If End Sub 示例说明:如果当前工作表是第一个工作表,则使用Previous属性会出错。

------------------[示例04-10]选取下一个工作表(Next属性)Sub NextSheet()If ActiveSheet.Index Worksheets.Count Then MsgBox “选取当前工作簿中当前工作表的下一个工作表” ActiveSheet.Next.Activate Else MsgBox “已到最后一个工作表” End If End Sub 示例说明:如果当前工作表是最后一个工作表,则使用Next属性会出错。

------------------[示例04-11]工作表行和列的操作 [示例04-11-01]隐藏行 Sub HideRow()Dim iRow As Long MsgBox “隐藏当前单元格所在的行” iRow = ActiveCell.Row ActiveSheet.Rows(iRow).Hidden = True MsgBox “取消隐藏” ActiveSheet.Rows(iRow).Hidden = False End Sub

------------------[示例04-11-02]隐藏列 Sub HideColumn()Dim iColumn As Long MsgBox “隐藏当前单元格所在列” iColumn = ActiveCell.Column ActiveSheet.Columns(iColumn).Hidden = True MsgBox “取消隐藏” ActiveSheet.Columns(iColumn).Hidden = False End Sub

------------------[示例04-11-03]插入行 Sub InsertRow()Dim rRow As Long MsgBox “在当前单元格上方插入一行” rRow = Selection.Row ActiveSheet.Rows(rRow).Insert End Sub

------------------[示例04-11-04]插入列 Sub InsertColumn()Dim cColumn As Long MsgBox “在当前单元格所在行的左边插入一行” cColumn = Selection.Column ActiveSheet.Columns(cColumn).Insert End Sub

------------------[示例04-11-05]插入多行 Sub InsertManyRow()MsgBox “在当前单元格所在行上方插入三行” Dim rRow As Long, i As Long For i = 1 To 3 rRow = Selection.Row ActiveSheet.Rows(rRow).Insert Next i End Sub

------------------[示例04-11-06]设置行高 Sub SetRowHeight()MsgBox “将当前单元格所在的行高设置为25” Dim rRow As Long, iRow As Long rRow = ActiveCell.Row iRow = ActiveSheet.Rows(rRow).RowHeight ActiveSheet.Rows(rRow).RowHeight = 25 MsgBox “恢复到原来的行高” ActiveSheet.Rows(rRow).RowHeight = iRow End Sub

------------------[示例04-11-07]设置列宽 Sub SetColumnWidth()MsgBox “将当前单元格所在列的列宽设置为20” Dim cColumn As Long, iColumn As Long cColumn = ActiveCell.Column iColumn = ActiveSheet.Columns(cColumn).ColumnWidth ActiveSheet.Columns(cColumn).ColumnWidth = 20 MsgBox “恢复至原来的列宽” ActiveSheet.Columns(cColumn).ColumnWidth = iColumn End Sub

------------------[示例04-11-08]恢复行高列宽至标准值 Sub ReSetRowHeightAndColumnWidth()MsgBox “将当前单元格所在的行高和列宽恢复为标准值” Selection.UseStandardHeight = True Selection.UseStandardWidth = True End Sub

------------------[示例04-12]工作表标签

[示例04-12-01] 设置工作表标签的颜色 Sub SetSheetTabColor()MsgBox “设置当前工作表标签的颜色” ActiveSheet.Tab.ColorIndex = 7 End Sub

------------------[示例04-12-01]恢复工作表标签颜色 Sub SetSheetTabColorDefault()MsgBox “将当前工作表标签颜色设置为默认值” ActiveSheet.Tab.ColorIndex =-4142 End Sub

------------------[示例04-12-03]交替隐藏或显示工作表标签 Sub HideOrShowSheetTab()MsgBox “隐藏/显示工作表标签” ActiveWindow.DisplayWorkbookTabs = Not ActiveWindow.DisplayWorkbookTabs End Sub------------------[NextPage][示例04-13]确定打印的页数(HPageBreaks属性与VPageBreaks属性)Sub PageCount()Dim i As Long i =(ActiveSheet.HPageBreaks.Count + 1)*(ActiveSheet.VPageBreaks.Count + 1)MsgBox “当前工作表共” & i & “页.” End Sub

------------------[示例04-14]保护/撤销保护工作表 [示例04-14-01] Sub ProtectSheet()MsgBox “保护当前工作表并设定密码” ActiveSheet.Protect Paword:=“fanjy” End Sub 示例说明:运行代码后,当前工作表中将不允许编辑,除非撤销工作表保护。

------------------[示例04-14-02] Sub UnprotectSheet()MsgBox “撤销当前工作表保护” ActiveSheet.Unprotect End Sub 示例说明:运行代码后,如果原保护的工作表设置有密码,则要求输入密码。

------------------[示例04-14-03]保护当前工作簿中的所有工作表 Sub ProtectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPaword As String myPaword = InputBox(“请输入您的密码” & vbCrLf & _ “(不输入表明无密码)” & vbCrLf & vbCrLf & _ “确保您没有忘记密码!”, “输入密码”)For Each ws In ThisWorkbook.Worksheets ws.Protect(myPaword)Next ws End Sub

------------------[示例04-14-04]撤销对当前工作簿中所有工作表的保护 Sub UnprotectAllWorkSheets()On Error Resume Next Dim ws As Worksheet Dim myPaword As String myPaword = InputBox(“请输入您的密码” & vbCrLf & _ “(不输入表示无密码)”, “输入密码”)For Each ws In ThisWorkbook.Worksheets ws.Unprotect(myPaword)Next ws End Sub

------------------[示例04-14-05]仅能编辑未锁定的单元格 Sub OnlyEditUnlockedCells()Sheets(“Sheet1”).EnableSelection = xlUnlockedCells ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub 示例说明:运行本代码后,在当前工作表中将只能对未锁定的单元格进行编辑,而其它单元格将不能编辑。未锁定的单元格是指在选择菜单“格式——单元格”命令后所弹出的对话框中的“保护”选项卡中,未选中“锁定”复选框的单元格或单元格区域。

------------------[示例04-15]删除工作表(Delete方法)Sub DeleteWorksheet()MsgBox “删除当前工作簿中的工作表sheet2” Application.DisplayAlerts = False Worksheets(“sheet2”).Delete Application.DisplayAlerts = True End Sub

《EXCEL VBA工作表操作全能方法小结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
EXCEL VBA工作表操作全能方法小结
点击下载文档
相关专题 excelvba操作技巧 小结 操作 方法 excelvba操作技巧 小结 操作 方法
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文