VBA添加Excel工作表

看到这个题目,很多人可能会说:添加工作表需要解释吗?连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"

        指定位置指定名称插入工作表就这么简单!

发布了254 篇原创文章 · 获赞 31 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/yueliang2100/article/details/103231211