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

  • 格式:doc
  • 大小:70.00 KB
  • 文档页数:10

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:=3End 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 = FalseMsgBox "显示工作表sheet1"Worksheets("sheet1").Visible = TrueMsgBox "第二次隐藏工作表sheet1"Worksheets("sheet1").Visible = xlSheetHiddenMsgBox "显示工作表sheet1"Worksheets("sheet1").Visible = TrueMsgBox "第三次隐藏工作表sheet1"Worksheets("sheet1").Visible = xlSheetHiddenMsgBox "显示工作表sheet1"Worksheets("sheet1").Visible = xlSheetVisibleMsgBox "第四隐藏工作表sheet1"Worksheets("sheet1").Visible = xlSheetVeryHiddenMsgBox "显示工作表sheet1"Worksheets("sheet1").Visible = TrueMsgBox "第五隐藏工作表sheet1"Worksheets("sheet1").Visible = xlSheetVeryHiddenMsgBox "显示工作表sheet1"Worksheets("sheet1").Visible = xlSheetVisibleEnd Sub示例说明:本示例演示了隐藏和显示工作表的各种情形。

其中,使用xlSheetVeryHidden常量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”——“工作表”——“取消隐藏”命令来取消隐藏。

-------------------------------------------------------------------------------- [示例04-04-02]Sub ShowAllSheets()MsgBox "使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)"Dim ws As WorksheetFor Each ws In Sheetsws.Visible = TrueNext wsEnd Sub-------------------------------------------------------------------------------- [示例04-05]获取工作表数(Count属性)[示例04-05-01]Sub WorksheetNum()Dim i As Longi = Worksheets.CountMsgBox "当前工作簿的工作表数为:" & Chr(10) & iEnd Sub-------------------------------------------------------------------------------- [示例04-05-02]Sub WorksheetNum()Dim i As Longi = Sheets.CountMsgBox "当前工作簿的工作表数为:" & Chr(10) & iEnd Sub示例说明:在一个包含图表工作表的工作簿中运行上述两段代码,将会得出不同的结果,原因是对于Sheets集合来讲,工作表包含图表工作表。

应注意Worksheets集合与Sheets集合的区别,下同。

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

-------------------------------------------------------------------------------- [示例04-06-02]重命名工作表Sub ReNameSheet()Dim xStr As StringRetry:Err.ClearxStr = InputBox("请输入工作表的新名称:" _, "重命名工作表", )If xStr = "" Then Exit SubOn Error Resume Next = xStrIf Err.Number <> 0 ThenMsgBox Err.Number & " " & Err.DescriptionErr.ClearGoTo RetryEnd IfOn Error GoTo 0'.........End Sub-------------------------------------------------------------------------------- [NextPage][示例04-07]激活/选择工作表(Activate方法和Select方法)[示例04-07-01]Sub SelectWorksheet()MsgBox "激活当前工作簿中的工作表sheet2"Worksheets("sheet2").ActivateMsgBox "激活当前工作簿中的工作表sheet3"Worksheets("sheet3").SelectMsgBox "同时选择工作簿中的工作表sheet2和sheet3"Worksheets(Array("sheet2", "sheet3")).SelectEnd Sub示例说明:Activate方法只能激活一个工作表,而Select方法可以同时选择多个工作表。