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

如何使工作表中宏按钮从文件中“另存为”工作,但不引用旧文件?

在Excel中,可以通过以下步骤使工作表中的宏按钮从文件中“另存为”工作,同时不引用旧文件:

  1. 首先,打开包含宏按钮的工作表。
  2. 在Excel中,按下Alt + F11键,打开Visual Basic for Applications(VBA)编辑器。
  3. 在VBA编辑器中,找到并展开“Microsoft Excel对象”项目,然后双击该工作表对象,以打开该工作表的代码窗口。
  4. 在代码窗口中,找到并选择工作表对象的“BeforeSave”事件。如果没有“BeforeSave”事件,请在代码窗口中插入以下代码:
代码语言:txt
复制
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    '在此处插入代码
End Sub
  1. 在“BeforeSave”事件中插入以下代码,以实现“另存为”操作:
代码语言:txt
复制
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then
        Cancel = True '取消默认的“另存为”操作
        Application.EnableEvents = False '禁用事件处理程序,以免陷入无限循环
        ThisWorkbook.Save '保存当前工作簿
        Application.EnableEvents = True '重新启用事件处理程序
    End If
End Sub
  1. 保存并关闭VBA编辑器。

现在,当你点击工作表中的宏按钮并选择“另存为”时,将会保存当前工作簿,而不是引用旧文件。这样可以确保宏按钮在新文件中正常工作。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供高可靠、低成本的云端存储服务,适用于存储和处理大规模非结构化数据。了解更多:https://cloud.tencent.com/product/cos
  • 腾讯云云服务器(CVM):提供可扩展的云服务器,支持多种操作系统和应用场景,适用于各类企业和个人用户。了解更多:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:提供高性能、可扩展的云数据库服务,适用于各类应用程序和网站。了解更多:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能平台(AI Lab):提供丰富的人工智能服务和工具,包括图像识别、语音识别、自然语言处理等。了解更多:https://cloud.tencent.com/product/ailab
  • 腾讯云物联网套件(IoT Hub):提供全面的物联网解决方案,包括设备管理、数据采集、消息通信等功能。了解更多:https://cloud.tencent.com/product/iothub
  • 腾讯云移动推送(TPNS):提供高效可靠的移动消息推送服务,适用于各类移动应用程序。了解更多:https://cloud.tencent.com/product/tpns
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

学习Excel技术,关注微信公众号: excelperfect 在文件夹中所有文件上运行,或者在Excel工作簿中所有工作上运行,这可能是一种非常好的Excel自动化方案。...="" MsgBox "在所有工作簿中都完成了执行" End Sub 这段代码完成下列操作: 1.在当前工作簿路径打开“选择文件”对话框,要求选择一个用于存储所有文件文件夹。...在子文件夹内所有文件运行 当想在文件夹中所有Excel文件上运行时,其中的一种情况是遍历所有子文件夹来运行。..." End Sub 在工作簿所有工作运行 代码如下: '本程序来自于analystcave.com Sub RunOnAllWorksheets() Dim folderName As String...MsgBox "在所有工作已完成执行" End Sub 代码: 1.打开ActiveWorkbook的每个工作而不是ActiveSheet,可以根据需要删除If语句。

4.5K11

一起学Excel专业开发21:Excel工时报表与分析系统开发(3)——自定义用户界面

设置背景图片 最简便的方法是将应用程序工作簿的一个工作作为其“桌面”,向其中添加背景图片,并将工作簿最大化,设置工作的显示属性使其显示范围扩大到整个Excel窗口,去除工作簿窗口中的控制框和最大最小化按钮...代码如下: '加载复制背景工作簿到新建工作簿并进行配置 Sub PrepareBackDrop() Dim wkbBook As Workbook '已经有背景对象吗?...Exit For End If Next If gwbkBackDrop Is Nothing Then '工作簿复制背景工作...,我们使用加载和模板创建每周工时并将它们存储到工作区,ConsolidateWorkbooks过程用来获取这些工时表工作簿并将它们合并和分析。...显示结果 Excel工作非常适合显示报表和图表,正是由于Excel具有强大的报表展示功能,才使Excel开发具有较强的吸引力。

1.9K10

Excel多工作薄合并

♢在代码框黏贴刚才复制的代码 ♢回到新建工作,选择开发工具——,在弹出菜单中选择刚才建立的宏文件,点击执行 ? ♢Excel会出现弹出菜单:合并工作薄 ?...♢依次按顺序选择要合并的目标工作文件 然后所有目标工作工作都会按顺序添加到新工作。...如果想要保存并且以后多次使用此宏代码的话,可以在刚才新建的工作插入一个矩形方框,右击选择指定,选择刚才的宏文件并确定,再想要使用此功能直接点击指定的矩形框就行了,不用再那么麻烦的去开发工具调用宏代码...当然含有宏代码的工作文件需要保存成特殊的格式(.xlsm) 选择文件——另存为——保存类型——excel启用工作薄(xlsm)。 ?...以后再想用的时候,直接打开这个含有工作薄然后单击指定按钮就OK了!

1.3K60

Python让Excel飞起来:使用Python xlwings实现Excel自动化

2.使用Python编写,并通过单击按钮Excel运行。 3.使用Python编写用户定义的函数,并像调用任何Excel内置函数一样Excel调用这些函数。 听起来很刺激?让我们开始吧!...接下来,保存VBA代码,现在我们要在Excel工作创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的Rand_10。...如果一切正常,意味着成功导入了Python函数,我们就可以直接在工作中使用square()函数了,如下图12所示,在单元格输入=square(A1)。...上文中已讨论了如何修复此错误,确保Excel设置正确。 2.键入用户定义的函数时,单元格中会显示“Object Require”(对象要求)。...确保在VBA编辑器菜单“工具->引用”中选取了“xlwings”,并将更改保存到相应的Excel文件。有时,当打开多个Excel工作时,我们可能会无意中将此更改应用于另一个文件

8.2K41

Excel的录制和解密

在弹出对话框,给取个名字后点击“确定” 在Sheet1 中选择 A 列, 复制后粘贴到 sheet 2的A列, 在到“” 菜单中点击“停止录制” 在点击保存的时候会弹出一个提示框,...保存文件的格式为 .xlsm。 也可以点击“另存为”保存为.xlsm 。 Excel在后续的版本,要保存的Excel 就需要特定后缀的文件(.xlsm), 即启用的Excel 。....xlsx 文件是不能保存的, 保存后再次打开会发现不见了。...测试运行 打开保存的.xlsm 文件, 清除sheet2 的内容 点击“查看” 在弹出的窗口中可以看到上面录制的, 点击“执行”按钮 运行之后, 可以看到内容 sheet1...' 引号用来注释 Columns 代表Excel 的列,Sheets 是工作 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154073.html原文链接:https

1.3K20

EXCEL VBA开始,入门业务自动化编程

图六 安全性设定的确认 如何打开包含的Excel文件,可以通过「设置」进行变更。 首先,单击[开发工具]选项卡的[安全性],会显示[信任中心]界面。...(图18) 图18 在工作簿上创建按钮来执行 下面我们来说明一下如何通过按钮来执行。 Excel支持在工作簿上创建一个图形来作为按钮,并把它分配给作为启动器的方式。...点击[拷贝粘贴]按钮,就是图23的样子;点击[删除]按钮,就是图24的样子。 图23 图24 保存包含宏命令的Excel工作 下面我们来讲一下如何保存包含的Excel文件。...在「另存为」画面上找到[保存类型],然后选择「启用工作簿(*.xlsm)」,输入文件名后点击[保存](图25)。 包含宏命令的文件扩展名为「.xlsm」。...在本篇,我们解说了如何创建一个简单的,一直到如何真正地工作起来。 由于是第一篇,所以内容上尽量简单,我想大家应该都能充分理解吧。 下一篇,我们会开始讲解Excel VBA的基础知识。

17.5K111

Vba菜鸟教程

在单元格输入公式 利用单元格公式返回值 调用工作函数 利用vba函数 自定义函数 操作对象 类模块 excel应用对象 操作工作簿 操作工作 操作单元格 图形对象 事件 关闭事件 工作簿事件...开发者工具,设置安全性启用,保存文件需要保存为启用工作簿 使用相对流录制,不固定位置,相对位置操作 加载(本地代码库) 代码保存在模块 保存文件格式为xla或xlam 开发者工具——加载项—...name "文件位置" as "改名后文件位置" 属性 操作工作 Sheets(“工作名称”) Sheets(N),打开的第n个工作,在左下角的位置 Sheet1 第一个插入的工作,与位置无关...,相当于本名 ActiveSheet 正在操作的工作 Worksheets 不包括工作 方法 Sheet1.Select `选中表1 Sheets.Add after:=Sheet3, Count...False,多选时返回数组,第一个文件下标为1 '文件类型参数,先指定文件类型名,再指定后缀,要成对出现 '优先类型是指文件类型列出的各种类型,哪种优先显示 A= Application.GetOpenFilename

16.8K40

疫情期间竟然还有这种病毒?解密古老而又神秘的宏病毒

打开含有的文档文件,会遇到"安全警告",单击"启用内容"按钮就会执行。\使用快捷键Alt+F11可以打开vb编辑器,查看宏代码。...宏病毒中常用的自动执行方法有两种:一种是用户执行某种操作时自动执行的,如Subbotton(),当用户单击文档按钮控件时,自动执行;另一种则是Auto自动执行,如SubAutoOpen()和Sub...弹出一个窗口,允许您要插入的各种对象中进行选择。选择"MS Excel 4.0"并单击"确定"。 已创建一个名为"1"的新工作。...这是一种特殊的工作类型,可以在其中输入XLM(所谓的)。...生成vba代码: word操作 点击上方标签视图标签,在该标签中点击按钮,弹出的对话框输入名字,然后单击创建按钮

5.5K30

Excel文件中大批量工作如何自动生成目录

Excel文件多个工作怎么生成目录?这个问题目前是大家问的最多的,所以今天就跟大家分享下Excel怎么生成目录。...下面用一个案例来分享: 如果有更多的工作来回切换是件非常不方便的操作,下图我们用7个工作来作为案例分享如何来完成Excel文件多个工作自动生成工作目录。...如何生成工作目录 1、我们在最前面插入一张新的工作,重命名为“工作目录”; 新建完成工作目录 2、点击选中“工作目录”工作的A1单元格,点击【公式】功能选项重的“定义的名称”;...A1",MID(工作目录,FIND("]",工作目录)+1,99)),"") 填入公式并向下填充 5、完成目录设置; 完成目录设置 6、设置完成目录生成后,必须要另存为“启用工作簿”才能启动目录功能...文件保存类型 温馨提示:GET.WORKBOOK是函数,只能在定义的名称中使用.

2.7K20

VBA实战技巧32:安装Excel加载

图2 如果你的加载不在“可用加载”列表,则必须单击该对话框右侧的“浏览”按钮,进行查找,然后将其添加到可用加载列表。...Excel是如何管理加载列表的 在后台,Excel使用注册和一个特殊文件夹来管理存在哪些加载项以及已安装了哪些加载项。...2.注册 对于与上述位置不同的加载项,Excel将在注册查找。当单击“浏览”按钮以查找加载项时,会在此处添加键。...图3 选择了哪些加载 在注册的另一个位置,Excel会记录选择了哪些加载项(在加载项对话框检查)。...如果加载项不在加载项文件,则包含完整路径。 注意,这些注册表项在关闭Excel后更新。 如何使用VBA来安装Excel加载 编写一些简单的代码来启用加载项,弹出的消息框如下图5所示。

4.5K20

『WPS二次开发最新成果』使用外部程序VSTO插件执行JSA原创续篇

可以在外部程序/VSTO插件里直接使用Application.Addins.Add,将xlam文件加载进来。当然也可以直接修改注册,让WPS表格每次启动时自动加载。...使用xlam文件,将它变成普通加载项,不会出现一个新的工作薄的打开。使用体验更友好。 接着,如果用户想获得某个JSA嵌入到它的当下的工作薄里,这个又该如何处理。...如果是插件环境,需要对用户当前的工作薄进行操作呢? 一开始笔者想到的方案是将当前工作另存为xlsm(如果当前工作薄不是xlsm文件时),然后打开压缩包,在里面修改JSA文件。...发现这样不可行,里面压根没有JSA的【xl\JDEData.bin】文件。 经过多翻测试,直接另存为xlsm,因为没有打开编辑器添加过代码,所以不会出现这个文件。...经过以上三步操作,重新将解压后的xlsx文件进行zip压缩后,改后缀名为xlsm,使用WPS表格打开后,即可将JSA宏代码加载进文件并可使用。 如果还想在工作上,将形状绑定这个JSA宏代码呢?

5910

Excel文件常见格式及其作用

会在文件名后带上'兼容'字样 很符合Windows产品的特色 新产品会向前兼容旧产品 如果你打开一个Excel 发现很多功能按钮是灰色的并且没有被保护 那么有可能就是格式不对了 xlsx 在Office...我们只需要知道 它可以保存Excel文件的代码就行了 xlsb 关于这个格式 我们同样只需要知道 它可以保存Excel文件的代码 但是文件体积比xlsm更小 至于功能上有没有其他影响我还没有发现...如果你发现了 不妨和我分享一下 扩展一下 xltx 这个格式叫'模板'格式 双击这个格式的文件 会自动新建一份该文件的副本 并在保存的时候另存为新的文件 如果要编辑这个格式的文件 得右键→打开 可以用在票据打印的时候...xlam 这个格式叫'加载' 类似于我们常常见到的各种Excel工具箱或Excel内置的数据分析等等 你也可以做一份自己常用的功能文件保存为xlam文件 加载到自己电脑上的Excel里 以后每次打开就有你独特的功能了...而这两个工作簿的行列不同所导致的 你只需要 1 只复制粘贴数据区域 2 将一个另存为与另外一个表相同的格式即可 以上 今日问题: csv格式的文件最大行数是多少?

1.9K20

还在为选择办公软件而烦恼吗?不妨试试ONLYofficeV8.0

打开、查看和编辑.xlsx、.xls、.ods和.csv文件,并将电子表格另存为PDF。 2.轻松实现精准计算 使用400多个函数和公式并利用特殊的语法提示,实现快速及准确的结果。...浏览版本历史,恢复任何以前的文件版本。 6.保护用户创建的电子表格 为整个电子表格、工作簿或单独的工作设置密码。隐藏公式以保持其私密性。锁定单元格、形状和文本。允许指定用户编辑数据范围。...7.通过自动执行任务 让处理电子表格的工作更轻松。使用JavaScript语法创建您自己的,编辑并保存它们以自动执行常见和重复性的任务。自动运行或对其自动启动进行限制。...路径:设置 -> RTL 界面(测试版) 3.电子表格的新增功能 3.1单变量求解: 如果用户已知公式的结果,但不确定公式所需的输入值,请使用单变量求解功能。...只需单击“开始”菜单的相应按钮即可。

12310

Excel将单元格内的url批量转化为图片格式的三种方法

i将excel另存为能启用的xlsm格式 二、将url转化为图片的三种方法 1、同时保留图片和连接(编写vb程序并调用对应的) 首先先把所有链接转化为超链接形式(蓝色字体带下划线) ?...输入以下代码并保存 Sub loadimage() Dim HLK As Hyperlink, Rng As Range For Each HLK In ActiveSheet.Hyperlinks '循环活动工作的各个超链接...输入vb代码 开发工具--执行 ? 执行后显示图片 2、删除链接只保留图片(插入VB脚本方式) 新建记事本保存以下代码另存为.bas格式 'charset GB2312 ....For Each HLK In ActiveSheet.Hyperlinks '循环活动工作的各个超链接 If UCase(HLK.Address) Like "*.JPG" Or UCase...右键sheet选择导入文件 ? 导入文件后出现模块 开发工具--执行LoadImage模块 ? 执行LoadImage ?

17.9K41

『JSA神助攻之三』将JSA另存为xlam以加载项方式供外部程序无感调用和手撸大法生成带JSA的xlam文件

可以在外部程序/VSTO插件里直接使用Application.Addins.Add,将xlam文件加载进来。当然也可以直接修改注册,让WPS表格每次启动时自动加载。...使用xlam文件,将它变成普通加载项,不会出现一个新的工作薄的打开。使用体验更友好。 接着,如果用户想获得某个JSA嵌入到它的当下的工作薄里,这个又该如何处理。...如果是插件环境,需要对用户当前的工作薄进行操作呢? 一开始笔者想到的方案是将当前工作另存为xlsm(如果当前工作薄不是xlsm文件时),然后打开压缩包,在里面修改JSA文件。...发现这样不可行,里面压根没有JSA的【xl\JDEData.bin】文件。 经过多翻测试,直接另存为xlsm,因为没有打开编辑器添加过代码,所以不会出现这个文件。...经过以上三步操作,重新将解压后的xlsx文件进行zip压缩后,改后缀名为xlsm,使用WPS表格打开后,即可将JSA宏代码加载进文件并可使用。 如果还想在工作上,将形状绑定这个JSA宏代码呢?

4610

『JSA神助攻之三』将JSA另存为xlam以加载项方式供外部程序无感调用和手撸大法生成带JSA的xlam文件

可以在外部程序/VSTO插件里直接使用Application.Addins.Add,将xlam文件加载进来。当然也可以直接修改注册,让WPS表格每次启动时自动加载。...使用xlam文件,将它变成普通加载项,不会出现一个新的工作薄的打开。使用体验更友好。 接着,如果用户想获得某个JSA嵌入到它的当下的工作薄里,这个又该如何处理。...如果是插件环境,需要对用户当前的工作薄进行操作呢? 一开始笔者想到的方案是将当前工作另存为xlsm(如果当前工作薄不是xlsm文件时),然后打开压缩包,在里面修改JSA文件。...发现这样不可行,里面压根没有JSA的【xl\JDEData.bin】文件。 经过多翻测试,直接另存为xlsm,因为没有打开编辑器添加过代码,所以不会出现这个文件。...经过以上三步操作,重新将解压后的xlsx文件进行zip压缩后,改后缀名为xlsm,使用WPS表格打开后,即可将JSA宏代码加载进文件并可使用。 如果还想在工作上,将形状绑定这个JSA宏代码呢?

4910
领券