一、vba生成excel文件
使用vba生成一个excel 文件,可以使用以下方法:
1 Workbooks.Add 方法
1.1 语法
新建一个工作表。新工作表将成为活动工作表。
语法
表达式.Add(Template)
表达式 一个代表 Workbooks 对象的变量。
参数
名称 必选/可选 数据类型 说明
Template 可选 Variant 确定如何创建新工作簿。如果此参数为指定现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板。如果此参数为常量,新工作簿将包含一个指定类型的工作表。可为以下 XlWBATemplate 常量之一:xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet 或 xlWBATWorksheet。如果省略此参数,Microsoft Excel 将创建包含一定数目空白工作表的新工作簿(该数目由 SheetsInNewWorkbook 属性设置)。
返回值
一个代表新工作簿的 Workbook 对象。
说明
如果 Template 参数指定的是文件,则该文件名可包含路径。
1.2 workbooks.add 会自动打开一个“工作簿1”这类的wb文件,并activate之
workbooks.add 会自动生成一个 " 工作簿N" 的WB文件,且active
workbooks.add 在add后,会打开一个“工作簿1”这类的wb文件
并且最后add的 wb文件 成为新的 activeworkbook
Sub test98()
Workbooks.Add
End Sub
1.3 workbooks.add(template)
template Variant 类型,可选
1.3.1 template如果指定为 EXCEL内置的常量
可为以下 XlWBATemplate 常量之一
xlWBATChart
xlWBATExcel4IntlMacroSheet
xlWBATExcel4MacroSheet
xlWBATWorksheet
Sub test91()
Workbooks.Add (xlWBATChart)
Workbooks.Add (xlWBATWorksheet)
Workbooks.Add (xlWBATExcel4MacroSheet)
Workbooks.Add (xlWBATExcel4IntlMacroSheet)
End Sub
1.3.2 若 template指定为文本,文本是一个文件路径,文件必须先存在
(暂时没发现有什么用处)
template 如果本参数为指定一现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板
如果template指定为文件,文件必须先存在,否则报错。
那么template为一个路径
如果是完整的绝对路径,则需要带path
如果只是相对路径,那么 excel 2010版本会去这儿找这个文件:D用户目录/我的文档下面 ,默认目录?
好像指定过后会把新的路径当默认路径
Sub test96()
Workbooks.Add (ThisWorkbook.Path & "" & ActiveSheet.Name & ".xlsx")
End Sub
Sub test97()
Workbooks.Add (ActiveSheet.Name & ".xlsx")
End Sub
2、thisworkbook.sheets(1).copy
这个是将当前代码所在工作簿的左侧第一张表拷贝生成新的工作簿文件。新文件包含一张表格。具体对应的文件跟表格可以根据需求调整
二、在excel里利用vba怎么对指定单元格
在excel的工具功能中进入vba编辑器执行宏保护公式的功能,即可对指定单元格,或区域单元格进行保护。
具体操作步骤如下:
1、打开EXCEL2003,输入并编辑好相关的数据。
2、编辑相关的统计公式,如在原始数据最后一列增加总分列,并在K4单元格输入:=SUM(D4:J4),然后往下拖拉填充公式。
3、点击EXCEL工作薄的工具——宏
4、在弹出的界面选择保护公式,点击执行。
5、最后按Alt+F11在弹出的界面输入密码即可。
注意事项:
为了避免别人进入VBA编辑模式查看解锁密码或者乱修改代码,最后一定要记得将宏设置密码。