来自《别怕excel vba其实很简单》
HI,大家好,我是星光。
上一期给大家分享了如何按指定名单批量创建工作簿,这期再给大家分享下如何按指定名单和模板批量创建工作簿。
如上图所示,有一张工作表提供了新建工作簿的名单,又有一个工作表名为"模板",作为新建工作簿的模板。则运行以下代码即可按指定名单和模板批量创建工作簿。
代码详细解释见注释……
打个响指,坦白的说,这段代码和上一期代码十分相似,简直是同父异母的哥俩好。第9行至第13行代码,指定名称为"模板"的工作表为新建工作簿的模板;如果当前工作簿查无此表,则退出程序。
第21行代码使用工作表的Copy方法复制一个工作表,但未指定复制后工作表的保存位置;我们上一章讲过,这种情况下,系统会将该工作表转换为活动工作簿。
第22行代码将活动工作簿保存到指定路径下。第23至28行代码判断工作簿名称是否符合规则。其余代码和上一节代码并无二样,也就不需赘言。
理论上,从EXCEL对象导入的range一定是二维数组
如果导入是cells等可以试试
区分的意义不是很大,一般都只用1维数组,2维数组,最多3维数组把。
Dim arr2() '定义了一个动态数组,定义时重大变化,其中arr2就是数组名
'arr2() 和arr2这2个不是一个东西? 事实证明是一个东西
'由于arr2已经数数组,不能直接把1个值,赋值给数组,数组名的
'不管数组里有没有赋值,只要不preserve,数组随便redim
'redim 功能,其实和全部重新赋值一样
'写在这里会报错,后面这句 arr20(1) = 1 '动态数组没赋值前,是不能操作array的读和写的
遍历index真正保险的写法是
'先学习1维数组,和数组赋值,以及取1维数组index和element Dim arr2() '定义了一个动态数组,定义时重大变化,其中arr2就是数组名 '使用array函数,构造一个1维数组,然后赋值给变量。默认是从index的0开始 '结论1:可以用变量,被赋值为一个数组 '获得数组元素的方法,可以遍历index,也可以直接遍历element 'arr2() 和arr2这2个不是一个东西? 事实证明是一个东西版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。