1、复习 在工作表上添加两个按钮 随机数 和 统计 单击 随机数 在 A1 E4 区域中随机产生20个两位正整数 单击 统计 将其中跟5有关 自身带5或5的倍数 的数加粗并设为红色 VBA程序设计 Workbook对象 Worksheet对象 Excel的常用对象 Excel应用程序 Application 工作薄 Workbook 工作表 Worksheet 区域 Range Excel函数容器 WorksheetFunction Workbooks对象 Workbooks对象用于返回Excel应用程序中当前打开的所有Workbook对象的集合Workbooks对象的常用属性 Item 集合中的
2、项目 即工作簿 以数组形式存放Setwb Workbooks Item 1 在实际应用时 也可以不显式引用Item属性而返回某个工作簿对象 如上式可以写成 Setwb Workbooks 1 Count 集合包含的工作簿个数MsgBoxApplication Workbooks Count Workbooks对象 Workbooks对象的常用方法 Add 新建工作簿Workbooks AddClose 关闭所有的工作簿Workbooks CloseOpen 打开一个工作簿文档Workbooks Open C Path Workbook xls Workbook对象 Workbook对象代表Mi
3、crosoftExcel工作簿Workbook对象是Workbooks集合的成员Workbooks集合包含Excel中所有当前打开的Workbook对象 Workbook对象的常用属性 Name工作簿的名称FullName工作簿的完整文件标识符 包含路径和名称Path工作簿的存放路径如果某个工作簿从未保存过 则其Path属性返回一个空字符串 Workbook对象的常用属性 Saved如果工作簿从上次保存至今未发生过更改 则该属性值为True 例 IfActiveWorkbook Saved FalseThenMsgBox 工作簿包含未保存的更改 EndIf如果要关闭某个有更改的工作簿 但又不想
4、保存它或者不想出现保存提示 则可将此属性设为True Workbook对象的常用属性 ActiveSheet代表工作簿中活动的工作表Worksheets代表工作簿中所有普通工作表的集合Charts代表工作簿中所有图表工作表的集合Sheets代表所有工作表的集合 包括Worksheet对象和Chart对象 Workbook对象的常用方法 Activate 激活一个工作簿Workbooks 1 ActivateClose 关闭一个指定的工作簿 并且 可选 指定是否保存修改Workbooks 1 CloseSaveChanges FalseSave 保存工作簿 如果还未保存过工作簿 则应该调用Sav
5、eAs方法Workbooks 1 SaveAsFilename fName Worksheets对象 Worksheets对象用于返回指定工作簿中所有Worksheet对象的集合Worksheet对象也是Sheets集合的成员 Sheets集合包含工作簿中所有的工作表 图表工作表和工作表 Worksheets对象的常用属性 Item 集合中的项目 即工作表 以数组形式存放Setws ActiveWorkbook Worksheets Item 1 因为Item是集合的默认成员 所以上式等价于 Setws ActiveWorkbook Worksheets 1 Count 集合包含的工作表个数M
6、sgBoxActiveWorkbook Worksheets Count Worksheets对象的常用方法 Add 新建工作表 并将新建的工作表置为活动工作表 语法 表达式 Add Before After Count Type Before 指定某工作表 新建工作表将在此工作表之前After 指定某工作表 新建工作表将在此工作表之后Count 要添加的工作表数 默认值为1Type 新建工作表的类型 默认值为xlWorksheet说明 Before和After只能二选一 如果同时省略Before和After 则新工作表插入到活动工作表之前 实例1 在eg1 xlsx的Sheet1中 单击 按
7、钮1 时 在第一张工作表之后插入一个新工作表 单击 按钮2 时 在Sheet1的B1单元格中写入当前工作簿的工作表数 Worksheet对象 Worksheet对象代表一张工作表Worksheet对象是Worksheets集合的成员 Worksheets集合包含工作簿中所有的Worksheet对象 Worksheet对象的常用属性 Name工作表名称SubIsSuchSheet DimmySheetAsWorksheet counterAsIntegercounter 0ForEachmySheetInWorksheetsIfmySheet Name Sheet2 Thencounter co
8、unter 1EndIfNextmySheetEndSub Worksheet对象的常用属性 Index工作表选项卡的编号MsgBoxActiveSheet IndexVisible工作表是否可见Worksheets Sheet1 Visible True Worksheet对象的常用属性 Next返回当前操作工作表右边的那个工作表 但不会激活右边的那个工作表 如果当前操作工作表的右边没有工作表 则会出错MsgBoxActiveSheet Next NamePrevious返回当前操作工作表左边的那个工作表 特性同Next属性 Worksheet对象的常用属性 Cells工作表所有单元格Wor
9、ksheets Sheet1 Cells 5 3 Font Size 14Range代表一个单元格或单元格区域ActiveSheet Range A1 Formula 10 RAND Worksheet对象的常用方法 Activate使当前工作表成为活动工作表 此方法等同于单击工作表的标签Select选择指定的工作表ActiveWorkbook Sheets 1 SelectDelete删除指定的工作表Worksheets Sheet3 Delete Worksheet对象的常用方法 Copy创建一个工作表的副本语法 Copy Before After 说明 Before 指定某工作表 复制的
10、工作表将置于此工作表之前After 指定某工作表 复制的工作表将置于此工作表之后如果已经指定了Before 则不能指定After 反之亦同 如果既未指定Before也未指定After 则Excel将新建一个工作簿 其中将包含复制的工作表Worksheets Sheet1 CopyAfter Worksheets Sheet3 Worksheet对象的常用方法 Move将指定工作表移到工作簿的另一位置语法 Move Before After 说明 Before 指定某工作表 移动工作表将置于此工作表之前After 指定某工作表 移动的工作表将置于此工作表之后如果已经指定了Before 则不能指定After 反之亦同 如果既未指定Before也未指定After 则Excel将新建一个工作簿 并把工作表移至此工作簿Worksheets Sheet1 MoveAfter Worksheets Sheet3 实例2 编写一个Sub过程 用于判断是否存在 统计 工作表 如果存在则先删除它 然后新建此工作表 并在 统计 工作表的第一行各单元格中分别填写已有工作表的名称 再在第二行中分别统计各工作表中的人数 在功能区新建一个 VBA 选项卡 在此选项卡添加一个 VBA 组 将上面的Sub过程指定到此 且将指定到的按钮命名为 统计