内容发布更新时间 : 2024/12/23 6:31:27星期一 下面是文章的全部内容请认真阅读。
Worksheets(\
MsgBox \在当前工作簿中复制工作表sheet2并将所复制的工作表放在工作表sheet3之后\
Worksheets(\End Sub
示例说明:Copy方法带有2个可选的参数,即参数Before和参数After,在使用时两个参数只参选一。
[示例04-03]移动工作表(Move方法) Sub MoveWorksheet()
MsgBox \在当前工作簿中将工作表sheet3移至工作表sheet2之前\ Worksheets(\ MsgBox \在当前工作簿中将工作表sheet1移至最后\
Worksheets(\End Sub
示例说明:Move方法与Copy方法的参数相同,作用也一样。
[示例04-04]隐藏和显示工作表(Visible属性) [示例04-04-01] Sub testHide()
MsgBox \第一次隐藏工作表sheet1\
Worksheets(\ MsgBox \显示工作表sheet1\
Worksheets(\ MsgBox \第二次隐藏工作表sheet1\
Worksheets(\ MsgBox \显示工作表sheet1\
Worksheets(\ MsgBox \第三次隐藏工作表sheet1\
Worksheets(\ MsgBox \显示工作表sheet1\
Worksheets(\ MsgBox \第四隐藏工作表sheet1\
Worksheets(\ MsgBox \显示工作表sheet1\
Worksheets(\ MsgBox \第五隐藏工作表sheet1\
Worksheets(\ MsgBox \显示工作表sheet1\
Worksheets(\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 \当前工作簿的工作表数为:\End Sub
[示例04-05-02] Sub WorksheetNum() Dim i As Long i = Sheets.Count
MsgBox \当前工作簿的工作表数为:\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个工作表的名字为:\ sChangeName = \我的工作表\
MsgBox \将当前工作簿中的第3个工作表名改为:\ Worksheets(3).Name = sChangeName End Sub
示例说明:使用Name属性可以获取指定工作表的名称,也可以设置工作表的名称。
[示例04-06-02]重命名工作表 Sub ReNameSheet() Dim xStr As String Retry:
Err.Clear
xStr = InputBox(\请输入工作表的新名称:\ , \重命名工作表\ If xStr = \ On Error Resume Next ActiveSheet.Name = xStr If Err.Number <> 0 Then
MsgBox Err.Number & \ 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(\
MsgBox \激活当前工作簿中的工作表sheet3\ Worksheets(\
MsgBox \同时选择工作簿中的工作表sheet2和sheet3\ Worksheets(Array(\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 \您正使用的工作表索引号为\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