好文档 - 专业文书写作范文服务资料分享网站

ExcelVBA编程入门范例 

天下 分享 时间: 加入收藏 我要投稿 点赞

ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)

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

- 3 -http://fanjy.blog.excelhome.net ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)

[示例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 \选取当前工作簿中当前工作表的下一个工作表\

- 4 -http://fanjy.blog.excelhome.net ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)

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 \在当前单元格所在行上方插入三行\

- 5 -http://fanjy.blog.excelhome.net ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)

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

- 6 -http://fanjy.blog.excelhome.net ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)

[示例04-12-03]交替隐藏或显示工作表标签 Sub HideOrShowSheetTab()

MsgBox \隐藏/显示工作表标签\

ActiveWindow.DisplayWorkbookTabs = Not ActiveWindow.DisplayWorkbookTabs End Sub

[示例04-13]确定打印的页数(HPageBreaks属性与VPageBreaks属性)

Sub PageCount() Dim i As Long

i = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1) MsgBox \当前工作表共\页.\End Sub

[示例04-14]保护/撤销保护工作表

[示例04-14-01] Sub ProtectSheet()

MsgBox \保护当前工作表并设定密码\ ActiveSheet.Protect Password:=\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 myPassword As String

myPassword = InputBox(\请输入您的密码\ \不输入表明无密码)\ \确保您没有忘记密码!\输入密码\ For Each ws In ThisWorkbook.Worksheets ws.Protect (myPassword) Next ws End Sub

[示例04-14-04]撤销对当前工作簿中所有工作表的保护 Sub UnprotectAllWorkSheets() On Error Resume Next

- 7 -http://fanjy.blog.excelhome.net

ExcelVBA编程入门范例 

ExcelVBA>>ExcelVBA编程入门范例>>工作表对象(fanjy)EndSub[示例04-05-02]SubWorksheetNum()DimiAsLongi=Sheets.CountMsgBox\当前工作簿的工作表数为:\EndSub示例说明:在一个包含图表工作表的工
推荐度:
点击下载文档文档为doc格式
8r2541rud16ehs64cpdk
领取福利

微信扫码领取福利

微信扫码分享