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

Excel VBA -多个按钮指向同一事件

在Excel VBA中,您可以将多个按钮指向同一个事件处理程序

  1. 打开Excel,然后按下Alt + F11键打开VBA编辑器。
  2. 在VBA编辑器中,双击您的工作表名称以打开工作表模块。
  3. 在工作表模块中,复制以下代码:
代码语言:javascript
复制
Private Sub Button_Click(ByVal Button As MSForms.Button)
    MsgBox "按钮 " & Button.Caption & " 被点击"
End Sub

这个事件处理程序将根据触发事件的按钮的Caption属性显示一个消息框。

  1. 在工作表上添加多个按钮。您可以通过在Excel中插入形状并设置其类型为“按钮 (窗体控件)”来实现这一点。
  2. 选中第一个按钮,然后在VBA编辑器中,选中工作表模块中的Button_Click事件处理程序。右键单击并选择“分配宏”,然后选择Button_Click
  3. 对于其他按钮,重复步骤5。这样,所有按钮都将指向同一个事件处理程序。

现在,当您点击任何一个按钮时,都会触发Button_Click事件处理程序,并显示一个包含按钮标题的消息框。

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

相关·内容

Excel VBA事件

Excel里,能发生的事件很多: 打开、关闭工作簿 新建工作簿 新建工作表 激活工作表 选择单元格 单元格改写 ………… 这些都是事件,其实就是平时手动操作Excel的一些动作。...在Excel VBA里提供了接口,在发生这些事件之前或者之后,让使用者可以设置一段运行的程序。 比如双击打开工作簿,可以设置运行一段程序: ?...上面就是一个工作簿打开事件,运行一段程序: Private Sub Workbook_Open() MsgBox "工作簿打开了" End Sub 这种格式是固定的,必须按照这种模式,Excel...VBA才能识别它为一个事件,所以为了避免使用者手动输入而造成的错误,Excel VBA提供了下拉选项让使用者直接选择。...而且事件用的不恰当,会影响Excel的运行效率,刚接触事件的可能会觉得比较好玩,建议事件的使用场所是在一些比较简单的表格里,一旦数据运算非常复杂了,尽量不要去使用。

1.4K30

Excel VBA事件——Worksheet

Worksheet工作表中常用的事件个人认为有3个: 1、Worksheet_SelectionChange: 选择改变的时候,意思是单元格的选择变化后发生的事件: Private Sub Worksheet_SelectionChange...Then '第一行是标题,文件路径从第2行开始 If Target.Column = 2 Then '存放在B列 If VBA.Dir...(Target.Value, vbDirectory) "" Then '文件存在的情况下,打开文件(这里举例打开Excel文件)...Sheet#里面的,如果仔细看过Workbook的事件,应该会发现其实Workbook事件里也有类似上面提到的那几个事件:Workbook_SheetSelectionChange、Workbook_SheetChange...名称里多了Sheet,这个事件的意思就是针对所有的Sheet都有效果的,使用方法差不多,可以去尝试用用。 工作表事件还有一些其他的事件,也可以去尝试用用,根据自己的实际情况选择去使用。

3K50
  • Excel VBA事件——Workbook

    ,那时候还没有Ribbon菜单,菜单是下拉式的,也就是和VBA编辑器菜单是一样的。...那时候运行代码除了插入按钮来运行之外,用的比较多的就是自定义一个菜单来运行,2007版本之后仍然是可以使用的,但是因为有了Ribbon菜单,所以一般是不建议再去创建下拉式菜单了。...'删除菜单 End Sub Private Sub Workbook_Open() '创建菜单 End Sub Workbook_BeforeClose中有个参数Cancel,我们知道VBA...中默认的参数传递是传地址的,所以在Workbook_BeforeClose内部是可以去改变Cancel的值的,你可以尝试加一个语句Cancel = True,然后再去点击关闭按钮关闭Excel,会发现已经关闭不了了...Workbook中还有许多其他的事件,可以多去试试,结合自己使用Excel的情况看看是不是有适合的。

    1.1K10

    php 多个变量指向同一个引用($b = &$a)用法分析

    本文实例讲述了php 多个变量指向同一个引用(b = & 引用是什么? 引用就是多个变量指向同一个内存区域地址。...如我们经常用的实例一个类,就是内存中开辟了一个区域存储实例的类,实例赋值给变量就是让这个变量指向这个内存区域。 多个变量指向同一个引用有什么好处?...节约了内存空间,多个变量指向同一个内存地址,在调用的时候多个变量都是指向同一个内存地址。...多个变量指向同一个引用的缺点 要注意使用安全,即是由于多个变量都是指向同一个内存地址,其中一个变量更改了某个属性,其它的变量调用的时候都是用的已经更改的实例。...那么,我们怎么才能让d和c 都指向一个引用呢? 查了下资料 如下方法 让两个变量指向同一个内存地址 <?php $a = "123"; $b = &$a; echo $b."

    2K31

    VBA实例01:复制多个Excel表到Word

    学习Excel技术,关注微信公众号: excelperfect 实例场景 有些时候,需要将多个Excel表复制到Word文档中指定的位置。...一般可以使用通常的复制/粘贴操作,然而如果表很多的话,VBA就派上用场了。 演示数据 我们准备了3个表,如下图1至图3所示。 ? 图1 ? 图2 ?...将光标放置到要插入表的位置,单击功能区“插入”选项卡“链接”组中的“书签”,输入书签名,单击“添加”按钮,如下图4所示。 ? 图4 由于要插入3个表,因此在要插入的位置添加3个书签。...图5 代码 在VBA编辑器中,插入一个新模块,输入下面的代码: '强制数组下标以1开始 Option Base 1 '将Excel表复制到一个新的Word文档 Sub ExcelTablesToWord..., "表3") '要粘贴到Word文档的书签名 varBookmarkArray = Array("书签1", "书签2", "书签3") '关闭屏幕更新和事件

    4.5K10

    如何将重复工作实现自动化?

    身边朋友经常问我,“猴子,我一个月总有几天,用Excel同一件机械重复的事儿,有没有省时省力的招儿?”...:设置不同代码文件的属性,比如:名称、颜色、背景、字体等 (3)工程资源管理器 事件代码:该类代码一般指发生了内容变化的事件时,执行某个小程序,其写在某个sheet表格内(事件的发生场所)。...举个例子,我们规定sheet1中单元格A1单元格为「文本」,如果我们输入「数值」,Excel将自动运行程序检测所填内容是否符合设定的要求(类似于Excel的「数据验证」功能) 模块(标准代码):该类代码我们常见的用途是以按钮等形式点击就可运行的程序...例如,设定一个按钮,该按钮链接一个小程序,小程序主要功能为合并多个工作簿,那么当我们单击这个按钮时,就会执行多个工作表合并。 「类代码」和「窗体代码」大家了解即可,后面我们会逐步介绍。 前面的没看懂?...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。

    24830

    Python+pandas分离Excel数据到同一Excel文件中多个Worksheets

    很显然,要解决这个问题需要这样几步:1)读取原始数据文件创建DataFrame,2)分离DataFrame,把不同员工的数据分离开,3)把不同员工的数据写入同一Excel文件的不同Worksheet。...第1步比较简单,使用pandas的read_excel()函数读取Excel文件即可。 对于第2步,需要首先获取所有员工的唯一姓名,然后使用DataFrame结构的布尔运算也很容易分离。...对于第3步,需要使用DataFrame结构的to_excel()方法来实现,把第2步中分离得到的每位员工的数据写入同一Excel文件的不同Worksheet中,该方法语法为: to_excel(excel_writer...第3步的要点是,to_excel()方法的第一个参数不能使用Excel文件路径,因为每次写入时会覆盖原来Excel文件中的内容。如果代码写成下面的样子: ?...代码可以运行,但是结果Excel文件中只有最后一次写入的数据,如图: ? 对于本文描述的需要,需要为to_excel()方法第一个参数指定为ExcelWriter对象,正确代码如下: ?

    2.4K10

    如何将重复工作实现自动化?

    身边朋友经常问我,“猴子,我一个月总有几天,用Excel同一件机械重复的事儿,有没有省时省力的招儿?”...:设置不同代码文件的属性,比如:名称、颜色、背景、字体等 (3)工程资源管理器 事件代码:该类代码一般指发生了内容变化的事件时,执行某个小程序,其写在某个sheet表格内(事件的发生场所)。...举个例子,我们规定sheet1中单元格A1单元格为「文本」,如果我们输入「数值」,Excel将自动运行程序检测所填内容是否符合设定的要求(类似于Excel的「数据验证」功能) 模块(标准代码):该类代码我们常见的用途是以按钮等形式点击就可运行的程序...例如,设定一个按钮,该按钮链接一个小程序,小程序主要功能为合并多个工作簿,那么当我们单击这个按钮时,就会执行多个工作表合并。 「类代码」和「窗体代码」大家了解即可,后面我们会逐步介绍。 前面的没看懂?...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。

    2.8K10

    VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

    通过该属性指向HideAlignmentGroup过程,在打开工作簿或使该控件无效时执行。在该过程中评估是否隐藏或取消隐藏组的条件。...在ThisWorkbook模块的SheetActivate事件处理中的代码: Private Sub Workbook_SheetActivate(ByVal Sh As Object) '在Excel...事实上,可以只是使用一个回调过程来隐藏多个组。这种只使用一个回调的思想可以被扩展到选项卡和控件,稍后我们会谈到这方面的内容。 内置选项卡 例如,下面的示例XML代码隐藏“开始”和“数据”选项卡: ?...在ThisWorkbook模块中的SheetActivate事件处理代码: Private Sub Workbook_SheetActivate(ByVal Sh As Object) '在Excel..."BtnB" myRibbon.InvalidateControl "BtnC" End Sub 当激活不同的工作表时,执行SheetActivate事件处理,使BtnB和BtnC按钮无效。

    8K20

    VBA专题10-9:使用VBA操控Excel界面之在功能区中添加自定义按钮控件

    这里的自定义命令是指程序员自已编写的VBA过程。 添加按钮 如果要在内置功能区选项卡中添加两个按钮,在单击这些按钮时会调用VBA过程,那么执行下面的步骤: 1....该属性的值是在单击按钮时要执行的VBA过程的名称。 5. 单击工具栏中的Validation按钮来检查是否有错误。 6. 单击Generate Callbacks按钮。...之后,要将其粘贴到工作簿的VBA模块中。 7. 保存并关闭该文件。 8. 在Excel中打开该工作簿文件。 9. 按Alt+F11键打开VBE。 10....插入一个标准VBA模块并粘贴刚才复制的回调代码。 11....说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 Hours:Changingworkbook appearance》,仅供学习研究。

    5K30

    Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

    图18-2:已选择的控件显示边框和句柄 要调整控件的大小,选择它,指向它的一个手柄,然后拖动到新的大小。 要移动控件,选择它,指向它的边框,然后拖动到新位置。 要删除控件,选择它,然后按Del键。...有30多个窗体属性,其中一些不经常使用。记住,可以使用“属性”窗口来设置所有属性,还可以在VBA代码中读取和设置(只读属性除外)。...该代码放置在事件过程中,并在用户执行某些操作时自动执行(在这种情况下,单击命令按钮时)。稍后你将了解有关事件事件过程的更多信息。现在,按照指示完成演示项目。...要点回顾 本课程介绍了如何使用Excel的用户窗体创建自定义对话框。你学到了: 用户窗体可以包含许多其他Windows应用程序中使用的相同控件。 一个VBA工程可以包含所需的任意多个用户窗体。...VBA学习信息 本文为知识星球:完美Excel社群正在陆续推出的《Excel编程周末速成班》系列中的一篇,到2020年12月27日,此系列已更新至第18课。

    11K30

    VBA专题10-11:使用VBA操控Excel界面之在功能区中添加自定义拆分按钮控件

    拆分按钮控件是一个含有单击按钮和下拉按钮列表的组合控件。用户可以选择单击按钮,或者从下拉列表中选择单击其中一个按钮来执行相应的命令。...添加拆分按钮控件的步骤与本系列前面文章(参见:VBA专题10-10:使用VBA操控Excel界面之在功能区中添加自定义切换按钮控件、VBA专题10-9:使用VBA操控Excel界面之在功能区中添加自定义按钮控件...,会根据按钮的不同显示不同的消息框,如图2所示为单击按钮Button1时显示的消息框。...注意,由于我们将Button1和menuButton1定义了相同的tag属性,因此单击拆分按钮中的单个按钮和菜单中的第一个按钮时都会弹出如图2所示的消息框。 ?...图2 说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 Hours:Changingworkbook appearance》,仅供学习研究。

    1.8K10
    领券