excel工作表操作

上传人:第*** 文档编号:55888719 上传时间:2018-10-07 格式:DOCX 页数:75 大小:4.77MB
返回 下载 相关 举报
excel工作表操作_第1页
第1页 / 共75页
excel工作表操作_第2页
第2页 / 共75页
excel工作表操作_第3页
第3页 / 共75页
excel工作表操作_第4页
第4页 / 共75页
excel工作表操作_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《excel工作表操作》由会员分享,可在线阅读,更多相关《excel工作表操作(75页珍藏版)》请在金锄头文库上搜索。

1、Excel VBA 语法词典第 4 章工作表操作在前面章节中, 已经详细介绍了单元格对象的操作和内容。 在 Excel VBA 中, Worksheet 对象表示 Excel 工作表,是 Worksheets 集合的成员。Worksheets 集合表示某个工作簿中所 有的 Worksheet 对象。 用户可以通过在 VBA 代码中使用 Worksheets 集合对象增加、 删除工作表等常见操作。 同时,用户可以使用 Worksheet 对象的事件控制工作表的行为。在本章中,将详细讲解如 何在 VBA 中使用工作表对象4.1操作工作表工作表是用户十分熟悉的对象,许多关于 Excel 的操作都是基

2、于工作表的。例如,插 入、删除、选择和保护工作表等。在 Excel VBA 中,用户可以通过代码对工作表进行各种 常见操作。案例 57插入工作表1功能说明在 Excel 中,用户经常需要添加新的工作表,来添加新的数据。默认情况下,工作薄 中包含三个工作表。当用户需要新的工作表时,则需要插入工作表。在 Excel VBA 中,用 户可以使用 Add 方法来插入工作表。2语法说明在 Excel VBA 中,使用 Worksheets 集合对象的 Add 方法,可向指定工作簿中增加工 作表,该方法的语法格式如下:表达式.Add(Before, After, Count, Type) 该方法共有 4

3、个参数,这些参数都可省略。各参数的含义如下: Before:指定工作表的对象,新建的工作表将置于此工作表之前。 After:指定工作表的对象,新建的工作表将置于此工作表之后。 Count:要添加的工作表数。默认值为 1。 Type :指 定 工 作表类 型 。可以 为 xlWorksheet ( 工 作表 ) 、 xlChart (图表 ) 、 xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。默认值为 xlWorksheet。提示:如果省略参数 Before 和 After,则新工作表插入到活动工作表之前。新建的工作表将成为活动工 作表。116第 4 章

4、 工作表操作3案例说明某公司统计了部分员工的上下半年销量,现在需要对该数据进行处理,因此,希望在 原始数据的基础上添加新工作表,原始数据如图 4.1 所示。图 4.1 原始数据4编写代码插入工作表的 VBA 代码如下:Sub InsertNewSheets() Dim Str As String On Error Resume Next Str = Application.InputBox(prompt:=“选择插入的工作表:“, Title:=“确定插入位置“, Type:=2) Worksheets.Add before:=Worksheets(Str) End Sub 5运行结果运行程序

5、代码,输入插入工作表的位置,如图 4.2 所示。图 4.2 选择插入工作表的位置117Excel VBA 语法词典单击对话框中的“确定”按钮,查看添加的结果,如图 4.3 所示。图 4.3 查看添加的工作表6程序分析在上面的程序代码中,提示用户输入工作表名称,再使用 Add 方法的 Before 参数指 定将新增加的工作表放在该工作表之前。在程序中使用了 On Error 错误捕获语句,用来捕 获用户输入的工作表名称不存在时的错误提示。用户可以直接增加工作表,代码很简单, 使用无参数的 Add 方法即可,具体代码如下:Worksheets.Add 案例 58复制工作表1功能说明复制工作表同样是

6、十分常见的操作,当各个工作表的结构或者数据运算结构十分相似 的时候,复制工作表以节省大量的工作。在 Excel VBA 中,用户同样可以代码实现复制工 作表的功能。2语法说明在 Excel VBA 中,用户可以使用 Worksheet 对象的 Copy 方法复制工作表。其语法格 式如下:表达式.Copy(Before, After) Copy 方法的两个参数都可省略,各参数的含义如下: Before:将要在其之前放置所复制工作表的工作表。如果指定了 After,则不能指定 Before。 After:将要在其之后放置所复制工作表的工作表。如果指定了 Before,则不能指定 After。118

7、第 4 章 工作表操作3案例说明某公司统计了各分公司员工的上下半年销量,现在需要对该数据进行处理,因此,用 户需要根据分公司数,复制不同数目的工作表,原始数据如图 4.4 所示。图 4.4 原始数据4编写代码复制工作表的 VBA 代码如下:Sub CopySheets() Dim i As Integer Dim j As Integer Dim Str As StringOn Error Resume Nextj = Application.InputBox(prompt:=“输入分公司的个数:“, _ Title:=“输入分公司的个数“, Type:=1)If j 0 Then For i

8、 = 1 To j Worksheets(“Sheet1“).Copy before:=Worksheets(“Sheet1“) Str = “分公司“ & i & “的销售表“ActiveSheet.Name = Str Next End IfEnd Sub 5运行结果运行程序代码,输入分公司的数目,如图 4.5 所示。119Excel VBA 语法词典图 4.5 输入分公司的个数单击对话框中的“确定”按钮,查看复制的工作表结果,如图 4.6 所示。图 4.6 查看复制工作表的结果6程序分析在本案例中, 用户使用 InputBox 方法要求用户输入分公司的数量, 再使用循环结构依 次添加工作

9、表,并设置工作表的名称和表示标题行的文字。案例 59统计工作表的数目1功能说明在默认情况下,工作薄中包含 3 个工作表。但是,用户可以根据需要添加工作表。因 此,当用户在对工作薄中的工作表进行操作时,经常需要统计工作表的数目。用户可以通 过 VBA 代码统计工作表的数目。120第 4 章 工作表操作2语法说明在 Excel VBA 中,Worksheets 集合对象由 Worksheet 对象组成,该集合的 Count 属性 返回集合中 Worksheet 对象的数量,代表工作簿中工作表的数量。 使用 Sheets 集合对象的 Count 属性, 可返回指定的或活动工作簿中所有工作表的集合。

10、这里所说的工作表包含 Chart(图表工作表)或 Worksheet 对象。应注意 Worksheets 集合与 Sheets 集合的区别。3案例说明某公司统计了各分公司员工的上下半年销量,现在需要对该数据进行处理。因此,用 户需要统计工作薄中的工作表总数,原始数据如图 4.7 所示。图 4.7 原始数据4编写代码统计工作表的 VBA 代码如下:Sub GetSheetNumbers()Dim i As Integer i = Worksheets.CountMsgBox “工作表总数是:“ & i End Sub 5运行结果运行程序代码,查看程序代码的结果,如图 4.8 所示。121Exce

11、l VBA 语法词典图 4.8 统计工作表的数目为了检测程序代码的结果,添加新的工作表,如图 4.9 所示。再次运行程序代码,结 果如图 4.10 所示。图 4.9 添加新的工作表图 4.10 查看程序结果6程序分析从上面的结果中可以看出,当用户添加新工作表后,程序会统计新工作薄中包含的工 作表数目。案例 60选择多个工作表1功能说明在用户需要进行跨表操作时, 同时选择多个工作表将是经常需要进行的操作。 在 VBA 中,用户可以使用 Select 方法同时选择多个工作表。122第 4 章 工作表操作2语法说明在 Excel VBA 中,使用 Worksheet 对象的 Select 方法可选择

12、多个工作表。Select 方法 的语法格式如下:表达式.Select(Replace) 参数 Replace 可省略。该参数如果为 True,则用指定的对象替换当前所选内容。如果 为 False,则扩展当前所选内容以包括以前选择的对象和指定的对象。 在选择多个工作表时,如果不将 Replace 参数设置为 False,则执行后一个 Select 方法 时,将取消前一个工作表的选取状态。如以下代码最后只有第四个工作表处于选中状态:Worksheets(1).Select Worksheets(4).Select 而以下代码将同时选中第一个和第四个工作表:Worksheets(1).Select

13、Worksheets(4).Select False 使用以下代码也可同时选中多个工作表:Worksheets(Array(Worksheets(1).Name, Worksheets(4).Name).Select 3案例说明某公司统计了各分公司员工的上下半年销量,现在需要对该数据进行处理。用户需要 同时选择多个工作表,原始数据如图 4.11 所示。图 4.11 原始数据4编写代码选择多个工作表的 VBA 代码如下:Sub SelectMlutiSheets() MsgBox “选取第一、二和第四个工作表!“Worksheets(1).Select Worksheets(2).Select

14、False Worksheets(4).Select False123Excel VBA 语法词典End Sub 5运行结果运行程序代码,查看程序代码的结果,如图 4.12 所示。图 4.12 显示选中的信息结果单击对话框中的“确定”按钮,查看运行的结果,如图 4.13 所示。图 4.13 查看运行的结果6程序分析从该例的结果可以看出,当程序运行后,Excel 显示的是选中“工作组” 。用户可以选 择其他任何一个工作表,取消这种选择。124第 4 章 工作表操作案例 61选择前一个工作表1功能说明工作表之前在物理上是相互连续的,用户需要对相邻的工作表进行操作。当用户需要 跨表进行操作的时候,首

15、先需要选择对应的工作表。在 Excel VBA 中,用户可以使用代码 来选择相邻的工作表。2语法说明在 Excel VBA 中,在工作簿中按顺序移动工作表时,可使用 Previous 属性和 Next 属 性进行操作。 Previous 属性:返回代表下一个工作表的 Worksheet 对象。 Next 属性:返回代表下一个工作表的 Worksheet 对象。注意:如果当前工作表是第一个工作表,则使用 Previous 属性会出错。如果当前工作表是最后一个工 作表,则使用 Next 属性会出错。根据前面章节的内容, 单元格区域 Range 对象也有这两个属性, 如果指定对象为区域, 则这两个属

16、性的作用是仿效“Shift+Tab”键和“Tab”键;但这两个属性只是返回上一个 (或下一个)单元格,并不选定它。3案例说明某公司统计了各分公司员工的上下半年销量,同时,在工作薄的默认情况下,用户选 中了工作表 Sheet2,现在需要选择工作表 Sheet1。4编写代码选择前一个工作表的 VBA 代码如下:Sub ChooseSheets()If ActiveSheet.Index Worksheets.Count Then ActiveSheet.Next.Activate Else MsgBox “已到最后一个工作表“ End If End Sub案例 62移动工作表1功能说明在对工作表的操作中,移动工作表是十分常见的操作。在默认情况下,用户添加的工 作表是在对应工作表之前。为了体现工作表的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号