摘要: 使用Worksheet对象的Delete方法能删除指定的工作表: Worksheets(3).Delete 那如何判断是否已经删除了呢?由于Delete方法返回一个布尔值,所以可以利用这点来进行判断。 Sub 删除指定工作表() Dim bDeleted As Boolean bDeleted = Worksheets(3).Delete If bDeleted = True Then MsgBo... 阅读全文
posted @ 2011-04-11 20:51 surfacetension 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: 使用Worksheets集合或Sheets集合的Add方法可以实现在指定位置添加新工作表,并且添加后的新工作表自动为活动工作表。 Sub 插入新工作表并改名() With Worksheets .Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = "ExcelHome" End With End Sub 上面的程序可以实现在当前工作... 阅读全文
posted @ 2011-04-11 20:33 surfacetension 阅读(3429) 评论(0) 推荐(0) 编辑
摘要: 1.使用工作表名称Worksheets("sheet2").ActivateSheets("sheet3").Activate这两行命令均可以实现按工作表名称激活相应工作表,唯一的区别就是Worksheets包含工作簿中所有工作表,而Sheets除了工作簿中的所有工作表外,还包含图表(Charts)/宏表等.2.使用索引号工作表索引号是工作表在工作簿中的位置,Excel根据工作表在工作表标签中的位置以1开始从左向右进行编号.下例表示激活当前工作簿中的第2个工作表.Worksheets(2).SelectSelect方法与Activate方法唯一的区别就是 阅读全文
posted @ 2011-04-11 20:00 surfacetension 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 在使用VBA编写过程时,一个好的习惯是尽量将实现单独功能的代码放置在独立的过程中,并在主过程中调用这些独立的过程.这样不仅便于程序的高度,而且程序的结构清晰,便于理解和维护,也能够重复使用通用的过程代码. 通过一个示例演示在程序中调用过程的方法.如图所示工作表,其中"加班费基数"固定,每个加班为80元,"加班数"由人工输入,"加班系数"根据加班个数而不同."加班费"为"加班费基数"和"加班数"分别... 阅读全文
posted @ 2011-04-11 19:46 surfacetension 阅读(1430) 评论(0) 推荐(0) 编辑
摘要: 一、高级筛选功能的学习与掌握 以前从未用过高级筛选,原因就是不会,试了好多次,总是在将筛选结果得到其他区域时提示:只能将复制到筛选后的活动工作表,搞了半天也没明白是什么意思。 到网上查了一下,一位仁兄的话点醒了我。摘录如下: 高级筛选只能将数据复制到活动的单元格。所以要在复制到的位置上(包括原表或新表中)进行筛选操作,而不是数据表上。 也就是说不论你是在原有区域显示筛选结果还是将筛选结果复制到其他... 阅读全文
posted @ 2011-04-11 19:34 surfacetension 阅读(3789) 评论(1) 推荐(0) 编辑