excel用宏命令VBA新建并打开一个新的excel?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel用宏命令VBA新建并打开一个新的excel?相关的知识,希望对你有一定的参考价值。

现有表格里面插入一个保存按钮,点这个按钮实现以下内容,需要实现以下内容的代码

用现有表格的a1的内容+当前日期做为新建excel的名字
然后把现有表格里的a2:d4里的内容(不带公式)保存到刚才新建的excel里面
弹窗提醒保存成功(并提示路径和文件名)

*最好在新建的时候能弹个窗选择一下路径
宏录制好像录不进去右键新建excel的过程,所以主要是需要新建并打开新建的excel
这部分代码

excel启用运行宏方法:
1、工具-宏-录制新宏,会出现对话框,设置快捷按钮(编辑区会出现一个小工具栏,先不管它)
2、假如想新编的宏是一个经常使用的页面设置,那就按平时设置页面那样操作,当页面设置好后,按刚才在编辑区出现的工具栏中的停止按钮即可。
3、当你新建一个文档要页面设置时,只需按最初设好的快捷按钮就可以完成操作。
注意:如果将 Microsoft Office Excel 中的宏安全级别设为“禁用所有宏,并且不通知”,则 Excel 将只运行具有数字签名或存储在受信任位置(如 Excel 启动文件夹)中的那些宏。如果要运行的宏没有数字签名或不在受信任位置,您可以临时更改启用所有宏的安全级别。
运行宏
一、如果“开发工具”选项卡不可用,执行下列操作以显示此选项卡:
1.单击“Office 按钮”
,然后单击“Excel 选项”。
2.在“常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”。
二、临时将安全级别设置为启用所有宏,执行下列操作:
1.在“开发工具”选项卡上的“代码”组中,单击“宏安全性”。
2.在“宏设置”类别中的“宏设置”下,单击“启用所有宏(不推荐,可能会运行有潜在危险的代码)”,然后单击“确定”。
①.请打开包含宏的工作簿。
②.在“开发工具”选项卡上的“代码”组中,单击“宏”。
③.在“宏名”框中,单击要运行的宏。
④.请执行下列操作之一:
若要在 Excel 工作簿中运行宏,请单击“运行”。
提示:您也可以按 Ctrl+F8 来运行宏,按 Esc 可以中断宏的执行。
要从 Microsoft Visual Basic 模块中运行宏,请单击“编辑”,然后在“运行”菜单上,单击“运行子/用户表单
,或按 F5。
按 Ctrl 组合快捷键运行宏
1.如果“开发工具”选项卡不可用,执行下列操作以显示此选项卡:
①.单击“Office 按钮”
,然后单击“Excel 选项”。
②.在“常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”。
2.在“开发工具”选项卡上的“代码”组中,单击“宏”。
3.在“宏名”框中,单击要分配给 Ctrl 组合快捷键的宏。
4.单击“选项”。
5.在“快捷键”框中,键入要使用的任何小写字母或大写字母。
6.在“说明”框中,键入对该宏的描述。
7.单击“确定”,然后单击“取消”。
通过单击快速访问工具栏上的按钮来运行宏
1.单击“Office 按钮”
,然后单击“Excel 选项”。
2.单击“自定义”,然后在“从下列位置选择命令”列表中,选择“宏”。
3.在列表中,单击创建的宏,然后单击“添加”。
4.若要更改宏的按钮图像,请在添加宏的框中选择该宏,然后单击“修改”。
5.在“符号”下,单击要使用的按钮图像。
6.若要更改将指针停留在按钮上时显示的宏名,请在“显示名称”框中键入要使用的名称。
7.此时,单击“确定”便会将宏按钮添加到快速访问工具栏。

8.在快速访问工具栏上,单击宏按钮。
通过单击图形对象上的区域来运行宏
1.在工作表中,选择现有图形对象,如图片、剪贴画、形状或 SmartArt。
2.要在现有对象上创建热点,请在“插入”选项卡的“插图”组中,单击“形状”,选择要使用的形状,然后在现有对象上绘制形状。

3.右键单击创建的热点,然后在快捷菜单上,单击“指定宏”。
4.请执行下列操作之一:
●要给图形对象指定现有宏,请双击宏或在“宏名”框中输入宏的名称。
●要录制一个新宏以将其指定给选定的图形对象,请单击“录制”。在录制完宏后,单击“停止录制”

(在“开发工具”选项卡上的“代码”组中)。提示:您也可以单击状态栏左边的“停止录制”

●若要编辑现有宏,请在“宏名”框中单击宏的名称,然后单击“编辑”。
5.单击“确定”。
6.在工作表中,选择热点。
提示:这将显示“绘制”工具,并添加“格式”选项卡。
7.在“格式”选项卡的“形状样式”组中,执行下列操作:
●单击“形状填充”旁边的箭头,然后单击“无填充”。
●单击“形状轮廓”旁边的箭头,然后单击“无轮廓”。
打开工作簿时自动运行宏
如果您录制一个宏并用“Auto_Open”这一名称保存它,每次您打开包含此宏的工作簿时,它都会运行。另一种在打开工作簿时自动运行宏的方法是使用 Visual Basic 编辑器在工作簿的 Open 事件中编写 Microsoft Visual Basic for Applications (VBA) 过程。Open 事件是一个内置的工作簿事件,它会在您每次打开该工作簿时都运行自己的宏代码。
●创建一个 Auto_Open 宏
●为工作簿的 Open 事件创建一个 VBA 过程
以上就是excel启用运行宏的方法,希望可以帮助到大家。
参考技术A 以下是用 VBA (Microsoft Excel 的宏语言) 的一个示例实现:
Private Sub SaveButton_Click()
Dim wb As Workbook
Dim newWbName As String
Dim rng As Range

newWbName = Range("A1").Value & Format(Now, "yyyy-mm-dd") & ".xlsx" ' 设置新工作簿的名称
Set rng = Range("A2:D4") ' 设置需要保存的区域

Set wb = Workbooks.Add ' 新建工作簿
wb.SaveAs Filename:=newWbName ' 保存工作簿
rng.Copy ' 复制要保存的区域
wb.Sheets(1).Range("A1").PasteSpecial xlPasteValues ' 粘贴数值到新工作簿
wb.Close SaveChanges:=True ' 关闭并保存新工作簿

MsgBox "保存成功:" & newWbName ' 提示保存成功并显示文件路径
End Sub追问

感谢您的代码,功能已实现,可以补充一些代码,让新工作簿保存到同路径下吗?发现都保存到桌面会比较乱

本回答被提问者采纳
参考技术B 可以创建并打开一个新的Excel文件使用VBA宏。要做到这一点,首先创建一个新工作簿并添加一个新的VBA宏代码模块。然后,保存工作簿XLSM格式。最后,打开XLSM在Microsoft Excel文件并单击开发者> Visual Basic运行宏。 参考技术C

您可以使用VBA宏来新建并打开一个Excel文件。具体步骤如下:

    打开Excel,按“Alt + F11”打开VBA编辑器。

    在VBA编辑器中,选择插入模块(Insert Module)。

    输入以下代码:

    Sub CreateNewWorkbook()
    Dim newWorkbook As Workbook
    Set newWorkbook = Workbooks.Add
    newWorkbook.SaveAs "C:\\example.xlsx"
    newWorkbook.Activate
    End Sub

    按“F5”运行代码,它会创建一个新的Excel文件并打开它。

    注意:请确保“C:\\example.xlsx”路径可用,并替换为您希望存储新工作簿的位置。

参考技术D

可以使用VBA代码在Excel中新建并打开一个新的Excel工作簿,以下是一种实现方法:

    打开一个Excel工作簿,按Alt + F11键打开VBA编辑器。

    在模块中插入以下代码:

    Sub OpenNewExcel()
    Dim xlApp As Excel.Application
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    End Sub

    按Alt + Q键退出VBA编辑器,然后在Excel的宏视图中运行该宏。

    您可以在代码中修改xlApp.Visible = True的值,以控制新创建的Excel工作簿是否可见。

用VBA法在Exce中l快速批量合并相同内容

1、第一步
打开Excel中点击文件,点击选项,勾选下列选项

2、在任意工作表标签上右击选择,查看代码,进入下一步。

进入VBE界面以后,我们在工程窗口在,在工作表名称中标签上右击插入,选择插入模块

模块插好后,双击模块,粘贴如下代码:

Sub 合并单元格()
  
Dim a%, b%

Dim n As Long

n = Selection.Rows.Count '选中区域的行数

a = Selection.Row '选中区域的起始行

b = Selection.Column '选中区域的起始列

Application.DisplayAlerts = False '禁用警告提示

    For i = a + n - 1 To a + 1 Step -1 '从选中区域的最后一个单元格向上循环

        If Cells(i - 1, b) = Cells(i, b) Then '若当前单元格内容与上一个单元格内容相同,则

            Range(Cells(i - 1, b), Cells(i, b)).Merge '合并当前单元格和上一个单元格
    
    End If

    Next

Application.DisplayAlerts = True '恢复警告提示

End Sub

代码粘贴完成后,需要关闭VBE编辑框,点X标记即可关闭。
在开发工具中点击控件插入一个按钮控件,在工作表中鼠标拖动一个大小合适的按钮
右击新建的按钮,选择指定宏,选择我们合并单元格,即我们刚刚写的代码,然后点击确定完成

一切OK之后,在选中区域我们只需要轻轻点击一下按钮


以上是关于excel用宏命令VBA新建并打开一个新的excel?的主要内容,如果未能解决你的问题,请参考以下文章

vba如何新建一个excel并且从另一个excel中导入数据到这个新建的excel中?

如何在excel 用VBA插入多个工作表并命名。要用到宏。给分给分~

excel vba复制数据范围,打开新的xlsx文件重命名表并保存

vb6.0改Excel的工作表名

excel中使用vba以只读方式打开工作薄的操作方法

用VBA法在Exce中l快速批量合并相同内容