vba生成excel文件
1个回答
展开全部
使用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
这个是将当前代码所在工作簿的左侧第一张表拷贝生成新的工作簿文件。新文件包含一张表格。具体对应的文件跟表格可以根据需求调整
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
这个是将当前代码所在工作簿的左侧第一张表拷贝生成新的工作簿文件。新文件包含一张表格。具体对应的文件跟表格可以根据需求调整
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询