首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何运行另一个工作簿的宏?

要运行另一个工作簿的宏,可以通过以下步骤实现:

  1. 首先,打开目标工作簿和当前工作簿。
  2. 在目标工作簿中,按下Alt + F11,打开VBA编辑器。
  3. 在VBA编辑器中,找到目标工作簿的项目资源管理器。如果找不到,请按Ctrl + R打开。
  4. 在项目资源管理器中,展开"Microsoft Excel Objects",然后双击该工作簿的"此工作簿"。
  5. 在代码窗口中,编写你想要运行的宏代码。确保代码正确且没有语法错误。
  6. 在当前工作簿的VBA编辑器中,找到你想要触发宏的位置。这可以是一个按钮、菜单选项或其他事件触发器。
  7. 在当前工作簿的VBA编辑器中,编写以下代码来调用目标工作簿中的宏:
代码语言:txt
复制
Sub RunMacroInAnotherWorkbook()
    Dim targetWorkbook As Workbook
    Set targetWorkbook = Workbooks.Open("C:\路径\目标工作簿名.xlsx")
    
    targetWorkbook.Application.Run "'目标工作簿名.xlsx'!宏名"
    
    targetWorkbook.Close SaveChanges:=False
End Sub

在上述代码中,替换"C:\路径\目标工作簿名.xlsx"为目标工作簿的实际路径和文件名,将"目标工作簿名.xlsx"和"宏名"分别替换为目标工作簿中你想要运行的宏的名称。

  1. 保存并关闭当前工作簿的VBA编辑器。
  2. 在当前工作簿中运行宏,以触发调用目标工作簿中的宏。

这样,你就可以在当前工作簿中通过宏调用并运行另一个工作簿中的宏了。

请注意,上述步骤仅适用于Microsoft Excel软件中的VBA宏。对于其他类型的工作簿或其他开发环境,具体操作步骤可能有所不同。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • VBA实用小程序61: 在文件夹内所有文件中运行工作簿所有工作表中运行

    学习Excel技术,关注微信公众号: excelperfect 在文件夹中所有文件上运行,或者在Excel工作簿中所有工作表上运行,这可能是一种非常好Excel自动化方案。...="" MsgBox "在所有工作簿中都完成了执行" End Sub 这段代码完成下列操作: 1.在当前工作簿路径中打开“选择文件”对话框,要求选择一个用于存储所有文件文件夹。...2.打开一个单独Excel进程(应用程序),然后逐个打开每个文件。 3.使用要在每个打开工作簿运行代码替换“在这里放置你代码”部分。 4.每个打开工作簿在关闭时不会保存所作修改。...在子文件夹内所有文件中运行 当想在文件夹中所有Excel文件上运行时,其中一种情况是遍历所有子文件夹来运行。..." End Sub 在工作簿所有工作表中运行 代码如下: '本程序来自于analystcave.com Sub RunOnAllWorksheets() Dim folderName As String

    4.7K11

    Excel实战技巧78: 创建个人工作簿

    个人工作簿是一个文件,可以在应用程序开启时运行其中VBA代码,就像是运行功能区选项卡中命令一样。创建个人工作簿很简单,如下所示。...步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡中“录制”命令,在弹出“录制”对话框中,选取“保存在”下拉列表框中“个人工作簿”,如下图1所示。单击“确定”。 ?...图1 步骤2:在工作表中随便选取一个单元格,然后单击“开发工具”选项卡中“停止录制”。 此时,Excel将自动创建个人工作簿文件。...图3 下面,我们将《Excel实战技巧77:实现在当前工作表和前一个使用工作表之间自由切换》中创建快捷键功能放到个人工作簿中,以便于在所有打开工作簿中都能使用这个功能。...注意,因为个人工作簿功能可以应用到所有工作簿中,所以在编写代码时应使用ActiveWorkbook,而不是ThisWorkbook。

    2.8K30

    打开自动运行Excel工作簿出错,怎么办怎么办? | Power Automate实战

    以前,我们经常通过Excel实现一些自动化操作控制,比如启动Power Query刷新数据,刷新完毕后再将数据更新到数据库里,然后将这些操作过程放到自动运行(workbook_open)过程里,达到启动...Excel即自动运行目的。...运行时,将会出现类似错误:无法打开Excel文档…… 此时,我们其实完全可以取消workbook_open()过程,比如,先注释掉该过程: 然后复制要在workbook_open过程中自动调用名称...: 在Power Automate Desktop里添加“运行Excel”步骤,选择前面“启动Excel”步骤中生成Excel实例,并在“”里输入(粘贴)要运行名称即可: 通过这样方式...,Power Automate Desktop即可按需要自动启动Excel,自动运行相应……实现全流程自动化处理。

    2.1K20

    Win10:右键新建选项中添加启用工作簿.xlsm

    文章背景:工作生活中涉及到VBA,时常要将Excel文件保存为.xlsm格式。而在右键新建可选项中,一般只有.xlsx文件。下面介绍如何在右键新建选项中添加启用工作簿.xlsm。...(1)按快捷键Win + R,调出运行窗口,输入regedit,按回车,进入注册表编辑器界面。 (2) 在注册表编辑器界面,找到.xlsm所在位置。...(7)在桌面上新建一个空启用工作簿,将其重命名为:Excel14M.xlsm,然后将该文件移动到以下路径文件夹中:C:\Program Files\Microsoft Office\root\vfs...在桌面上点击右键,选择新建,此时可以看到在可选项中已经有了启用工作簿。...参考资料: [1] 如何在右键中添加“新建启用工作簿.xlsm”(https://jingyan.baidu.com/article/066074d62dca1cc3c21cb099.html)

    3.7K10

    VBA代码:拆分工作簿示例——将工作簿每个工作表保存为单独工作簿

    标签:VBA 有时候,我们想将工作簿每个工作表都保存为一个单独工作簿。 你可以使用下面的操作逐个保存工作表: 1.在工作表标签中单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存该工作簿。 图1 这样,有多少工作表,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样重复工作使用VBA是最合适。...msoFileDialogFolderPicker) .InitialFileName =Application.DefaultFilePath & "\" .Title = "选择保存工作位置...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分工作簿运行上述代码...,就可将该工作簿所有工作表全部保存为单独工作簿

    4K11

    yhd-VBA从一个工作簿工作表中查找符合条件数据插入到另一个工作簿工作表中

    今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一个,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)中查找一些数据,提取出来...常用方法是打开文件,来查找,再复制保存起来。如果数据少还是手工可以,如果数据多了可能就。。。。 所以才有这个想法。...想要做好了以后同样工作就方便了 【想法】 在一个程序主控文件中 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两个工作表 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作表 查找到"杨过"数据保存到目标文件【第一个】工作表 【代码】 Sub...从一个工作簿工作表中查找符合条件数据插入到另一个工作簿工作表中() Dim outFile As String, inFile As String Dim outWb As

    5.3K22

    VBA实用小程序48: 确保工作簿已装载必需外部加载

    学习Excel技术,关注微信公众号: excelperfect 如果你Excel应用程序依赖于外部加载项(例如分析工具库或规划求解加载项),那么必须确保在运行应用程序之前加载了该加载项。...''' 如果没有,则试图装载该加载项 ''' ''' 参数: szAddInWorkbook 加载项工作簿名.例如,对于Excel 2007或 '''...On Error Resume Next ''' 如果已在加载项列表中选择了需要加载加载项(如规划求解加载项), ''' 除非切换了Installed属性,否则不会打开其工作簿...", vbCritical, "装载加载项演示" End If End Sub 如果工作簿已经安装了“规划求解加载项”,如下图1所示: ?...图1 运行测试程序DemoLoadAddIn过程,会弹出下图2所示消息框。 ? 图2 下面是bLoadAddIn函数图片版: ?

    80430

    如何运行一个

    假设你已经在Excel里面写好了一段VBA代码 又或者别人帮你在Excel里面写好了一段VBA代码 接下来呢,你要如何运行这段代码呢?...界面操作步骤是 点击执行,Excel就会执行这段VBA代码 结果如上 下面是现场传回来GIF演示图 上一份是UI界面操作 其实还有快捷键操作 当你把数据悬停在这个按钮上时候 就会提示你快捷键是...Alt+F8 所以当你按下Alt 同时按下键盘最上方F8时候 就会跳出刚才执行界面 也就是你用快捷键代替了之前步骤1,2 然后也是点击执行 除了 左边Visual Ba sic也可以进入代码编辑界面...(VBE) 从而运行 将鼠标光标定位在代码之间 然后点击绿色三角箭头 就可以运行了 下面是GIF演示 除了以上两种方法 还可以将绑定到按钮上点击运行 绑定之后 点击按钮就会运行了 当然 还有自动触发...比如改变单元格时候,点选时候,双击时候等等 这种叫事件 是一种更为智能形式 还有将按钮放在窗口执行 诸如此类 欢迎补充

    1.2K10

    Excel小技巧79:如何跟踪Excel工作簿修改

    如果你对Excel工作表进行更改,然后在45天后再次打开该工作簿,则在关闭该工作簿之前,你将能够看到所有45天更改历史记录。但关闭时,任何超过30天更改历史记录都将消失。...这意味着下次打开它时,你将无法看到45天前所做更改。 4. 无论何时开启跟踪,工作簿都将成为共享工作簿。这意味着多个用户将对文档进行更改。...上面是在Excel中如何进行跟踪一些基本知识,接下来让我们来讨论如何启用它、更改设置和跟踪更改!...单击“修订”按钮左侧“共享工作簿”按钮。弹出“共享工作簿”对话框,单击“高级”选项卡,如下图5所示。 ? 图5 在这里,你可以将保存更改历史记录天数更改为30天以外天数。...值得注意是,如果另一个单元格引用了被拒绝单元格内容,那么当引用单元格值恢复时,其值也会更改,这可能导致公式中断等,因此要小心。

    6.4K30

    神奇AI编程小例子——合并两个工作簿工作表到一个工作簿

    今天帮一个朋友干点活,涉及到了两个表格文件工作表合并到一个工作簿,分别作为单独工作表。...] # 创建目标工作簿新表 target_sheet = target_workbook.create_sheet(title=sheet_name) # 复制其他工作簿数据到目标工作簿表...接下来,我们获取其他工作簿表名,并使用create_sheet方法在目标工作簿中创建相应新表。 然后,通过遍历其他工作簿每个表,我们可以复制数据并将其追加到目标工作簿对应表中。...最后,我们保存目标工作簿,以便将新表添加到文件中。 请确保在运行代码之前已经安装了openpyxl库。你可以使用pip命令进行安装,例如:pip install openpyxl。...这个示例代码适用于将其他工作簿所有表追加到目标工作簿中。如果你只需要追加某个特定表,可以根据需要做出相应修改。 代码几乎不用修改,完全能实现功能。

    26110

    Excel VBA常用功能加载——打开活动工作簿所在文件夹

    在使用Excel时候,偶尔我们又需要打开一些工作簿所在文件夹去操作,这时候找起来可能就有点麻烦了。...在VBA里使用过Workbook对象就能知道,调用Path属性就能获取到工作簿所在文件夹,所以,使用VBA就可以快速打开活动工作簿所在文件夹: ?...rbbtnOpenActiveWbPath" label="打开文件夹" size="large" onAction="rbbtnOpenActiveWbPath" imageMso="FileOpen" supertip="打开活动工作簿所在文件夹..."""" & Path & """" VBA.Shell "cmd.exe /c explorer " & Path, vbNormalFocus End Sub 函数比较简单,就是获取活动工作簿...所以程序运行会弹出一个黑窗口,那个就cmd窗口。 路径有空格时候我记得是会出问题,可能原来是XP系统,我电脑WIN7系统测试没有出问题。

    2.5K30

    VBA: 将多个工作簿第一张工作表合并到一个工作簿

    一般操作方法是打开两个工作簿(目标工作簿和待转移工作簿),然后选中需要移动工作表,右键单击以后选择“移动或复制”。接下来在新对话框里面进行设置。 这种方法适合在移动少量工作时候使用。...如果有很多工作簿,都需要进行移动的话,一个一个打开然后再操作比较费时费力。这时就可以使用VBA来批量进行操作。...在目标工作簿内,插入一个模块,然后导入如下代码: Option Explicit Sub MergeWorkbook() '将多个工作簿第一张工作表合并到目标工作簿中...End Sub (1) 将目标工作簿和待转移工作簿放在同一个文件夹内; (2)上述代码要实现功能是,将同一个文件夹内所有工作簿(目标工作簿除外)第一张工作表拷贝到目标工作簿内,并将表名设置为拷贝前所属工作簿名称...转移前: 转移后: 参考资料: [1] 如何使用Excel VBA将多个工作簿全部工作表合并到一个工作簿中(https://zhuanlan.zhihu.com/p/76786888)

    5.8K11

    如何在前端应用中合并多个 Excel 工作簿

    前言|问题背景 SpreadJS是纯前端电子表格控件,可以轻松加载 Excel 工作簿数据并将它们呈现在前端浏览器应用网页上。   ...在某些情况下,您可能需要将来自多个工作簿数据(例如,来自不同部门月度销售报告)合并到一个工作簿中,实现此目的一种方法是使用多个隐藏 SpreadJS 实例来加载所有工作簿,然后将它们合并到一个电子表格中...此文将向您展示如何合并多个 Excel 工作簿并将它们作为单个电子表格显示在您前端浏览器应用中。 设置项目 要加载 SpreadJS,我们需要添加主要 JavaScript 库和 CSS 文件。...,他们可以单击“合并工作簿”按钮,将每个工作簿每个工作表复制到页面上可见 SpreadJS 实例: function MergeWorkbooks() { for (var w = 0; w <...:如果您工作簿正在使用命名样式,则需要将此样式添加到可见 SpreadJS实例中,否则它将无法正确显示,因为我们正在复制单个工作表。

    24720

    Python操作Excel工作簿示例代码(*.xlsx)

    EXCEL文件 Excel 被称为电子表格,其实际可以保存格式分为很多种,但是“Excel 工作簿(*.xlsx)”和“Excel 97-2003 工作簿(*.xls)”是其中比较常用两种,可以认为...有资料说处理速度真的很慢,因为我处理文件比较小,但是没有发现这方面的问题,还有一个问题就是说Excel中全部丢失,这个测试时候确实是丢了,只不过这个好像和文件格式有关,要想保存需要存储为 .xlsm...格式,但是 openpyxl 使用来操作 .xlsx 文件,存储时会导致丢失,强行存储为 .xlsm 格式会导致最终文件打不开。...可以读取,但没有 可以读取包含表格 保存.xlsm 保存后打不开,存成 .xls 格式丢失 保存后打不开,存成 .xls想 格式丢失 存储后还在 增删行和列 没有直接方法 支持 支持 另存后大小....xls 文件没有变化 .xlsx 文件会变小 .xls、.xlsx 文件没有变化 使用建议 只操作.xls文件可以考虑 只操作.xlsx文件可以考虑,不能带有 一个比较好选择,使用时感觉速度稍微有点慢

    2.6K30

    Excel Power Query学习:如何合并两个Excel工作簿

    本文主要讲解如何使用Power Query以完全可审核、易于执行方式解决合并两个工作簿问题,主要是将两个工作簿工作数据放到一起。...装载文件 打开一个新工作簿,单击功能区“数据”选项卡“获取和转换数据”组中“获取数据——来自文件——从文本/CSV”,如下图1所示。...同样操作连接另一个CSV文件。结果如下图4所示。 图4 追加查询 现在已经装载了两个文件,接下来将它们追加到Power Query编辑器。...那么,是不是加载了两个文件全部数据呢?我们可以验证。一个简单方法是将hof_inducted和hof_not_inducred作为表加载到工作簿中。...图11 单击“确定”将每个查询加载到新工作表,如下图12所示。 图12 简单计算一下323+3868=4191,数据正确。

    1.9K20

    快速汇总多个工作簿工作表中数据(Excel工具推荐)

    比方,我们有以下三个工作簿 这三个工作簿含有第一季度各品牌在各个国家销售数据,又分为若干不等工作表。...然后有一天我在ExcelHome论坛发现了版主写一个神器,可以自动生成SQL语句,实现跨工作簿/工作表进行数据汇总透视。(点击阅读原文可以找到工具下载链接)下面介绍下该工具使用方式。...可以看到 1.所有工作簿所有工作表都显示在了左侧列表里。这个时候我们可以选择部分工作簿/工作表进行汇总,也可以全选,看需求而定。此处我们全选。...3.可以看到有“插入工作簿名”,“插入工作表名”按钮,这两个按钮意思是是否需要将工作簿/工作名称作为数据透视表字段,此处我们假设想看各月汇总情况,因此需要点击“插入工作簿名”。...我们可以看到这样多个工作簿/工作数据就汇总到一起了,Expr1000是工作簿名称字段,我们可以看到各个月销售。

    10.8K10
    领券