看到这个题目,很多人可能会说:添加工作表需要解释吗?连VBA小白都会用呀!没错,大家可能经常用到,但是大家是否都知道下面的用法呢,可能还真不一定呦!
VBA添加工作表的代码看起来确实很简单。
Worksheets.Add
语法格式也很简单,前两个参数用于指定工作表插入的位置,第3个参数指定插入的工作表的数量,第4个参数指定插入的工作表的类型,MSDN帮助中的解释也就这么多。
表达式 . Add( Before, After, Count, Type )
插入工作表时,Excel会以“Sheetx”(x为数字)的形式顺次进行编号,一般用户都会希望工作表的名称有含义的,所以就需要“插入指定名称的工作表”,这个需要似乎也不难呀!
Worksheets.Add
ActiveSheet.Name = "DataSheet1"
完美实现,能否在一行代码中实现呢?挠挠头,想一想,可以呀!
Worksheets.Add: ActiveSheet.Name = "DataSheet2"
这好像也是一行代码,但是只能说是“伪一行”,其实不过是两句代码的另一种书写形式。
这个问题的正解是:
Worksheets.Add.Name = "DataSheet3"
What!?还可以这么用,VBA帮助文件都没有给出这种示例呀,工作表对象除了Name还有很多其他属性,比如CodeName,是否可以照葫芦画瓢来用。
Worksheets.Add.CodeName = "DataSheet30"
运行时错误"450"跳了出来,CodeName是只读属性,不可以这样用。
Worksheets.Add.Name的书写方式不错,但是大家对Excel默认将工作表插入位置不满意(默认位置为活动工作表之前),是否只能插入之后再调整位置呢?其实再继续扩展这个代码。
Worksheets.Add(Before:=Sheets(1)).Name = "DataSheet4"
指定位置指定名称插入工作表就这么简单!