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

如何使用工作表上的私有子Worksheet_Change合并两个Sub

在Excel中,可以使用VBA编程语言来创建宏和自定义函数,以实现自动化操作。在工作表上,可以使用私有子Worksheet_Change事件来捕捉工作表上的更改事件,并在更改发生时执行特定的操作。

要合并两个Sub(子过程),可以将它们的代码复制到一个新的Sub中,并在需要的地方调用该新的Sub。下面是一个示例代码:

代码语言:txt
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    ' 第一个Sub的代码
    ' ...
    
    ' 第二个Sub的代码
    ' ...
    
    ' 合并两个Sub的代码
    Sub1
    Sub2
End Sub

Sub Sub1()
    ' 第一个Sub的代码
    ' ...
End Sub

Sub Sub2()
    ' 第二个Sub的代码
    ' ...
End Sub

在上面的示例中,我们将两个Sub的代码分别放在Sub1和Sub2中,并在Worksheet_Change事件中调用这两个Sub,以实现合并的效果。

需要注意的是,私有子Worksheet_Change事件只能在特定的工作表上触发,而不是整个工作簿。如果想要在整个工作簿上捕捉更改事件,可以使用Workbook_SheetChange事件。

关于VBA编程和Excel宏的更多信息,可以参考腾讯云的Excel VBA开发文档:Excel VBA开发

请注意,以上答案仅供参考,具体实现方式可能因个人需求和环境而异。

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

相关·内容

Excel小技巧18:阻止Excel将某些文本自动转换为超链接

文章详情:excelperfect 当我们在工作表单元格中键入网址或者电子邮件地址时,Excel会自动将文本转换为超链接,然而,这项看似方便功能有时候会带来一些麻烦,譬如我们想要编辑这些单元格时,不能直接单击...,只能使用鼠标右键或者在公式编辑栏中来选择该单元格并编辑内容。...如果只是想要某个工作中不要将网址或者电子邮件地址自动转换成超链接,可以利用工作事件,即在该工作模块中输入代码: Private Sub Worksheet_Change(ByVal Target...下面的代码清除工作所有链接: Private Sub Worksheet_Change(ByVal Target As Range) Me.Cells.ClearHyperlinks End...Sub

1.6K30
  • Excel事件(二)工作事件

    二、工作事件分类 上图介绍工作事件代码编写位置时,可以看到工作对象对应有多种事件类型,最常用9中工作事件如下图所示: 工作事件发生在工作被激活、用户修改,以及更新工作单元格或数据透视时...工作事件代码相对简单,重点是在和代码搭配使用,挑选典型事件,通过示例来介绍。...Private Sub Worksheet_Deactivate() MsgBox "不允许编辑汇总表之外其他工作" Worksheets("汇总表").Select End Sub 当选中其他工作...(使用户无法选择汇总表以外表格) 六、beforerightclick事件 在工作单击鼠标右键会触发此事件,此事件先于默认单击鼠标右键操作。...---- 本节主要介绍了最常用工作事件,了解事件参数使用,以及对关闭或开启事件如何使用

    3.5K10

    Excel VBA编程

    隐藏活动工作所有工作 批量新建指定名称工作 批量对数据进行分离,并保存到不同工作中 将多张工作数据合并到一张工作中 将工作簿中每张工作都保存为单独工作簿文件 将多个工作簿中数据合并到同一张工作中...单元格相对于字体来说对象,但是单元格相对于工作而言是属性 方法是在对象执行某个动作或者操作,每个对象都有其对应一个或者多个方法。...activesheet.columns("F:G").select '选中活动工作第F-G列' activesheet.columns(3) '选中活动工作第6列' 使用union方法合并多个单元格区域...application.union(range("A1:A10"),range("D1:D5")).select '同时选中两个区域' range对象offset属性 使用offset属性,可以获得相对于指定单元格区域一定偏移量位置单元格区域...将多张工作数据合并到一张工作Sub hebing() Dim sht As Worksheet Set sht = Worksheets("Sheet11") sht.Rows.Clear

    45.5K33

    问与答122:如何根据输入数据动态添加提示信息?

    Q:在我Excel工作簿中有两个工作工作“Seatingarrangement”用来排座位,工作“DataValue”包含座位号、员工号及员工名字等信息。...现在,我想在工作“Seatingarrangement”中输入座位号后,显示关于座位号、员工号及员工名字等信息提示,如下图1所示。 ? 图1 工作DataValue中示例数据如下图2所示。 ?...图2 如何实现? A:肯定要使用VBA代码来实现。...在工作“Seatingarrangement”代码模块中,输入下面的代码: Public sTarget As String Private Sub Worksheet_Change(ByVal Target...图3 注:今天问题来源于chandoo.org,供有兴趣朋友参考。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    88650

    VBA:利用高级筛选自动筛选列表

    标签:VBA,高级筛选 这是thesmallman.com一个示例,利用VBA、高级筛选和公式进行数据筛选。 这个示例目的是根据数据验证下拉列表选择要在列表中筛选数据,并显示相应数据。...示例一个优点是能够对下拉列表中选择项目进行筛选,或合并所选项目(所有项目以及单个项目)。例如,可能希望看到周日发生事故,但也可能希望看到全天发生涉及多辆车事故。...此时,如果从单元格K2到K4任何单元格发生变化,则需要运行相应过程,因此需要调用工作Change事件。...Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [K2:K4]) Is Nothing...该过程可以快速有效地获取选择数据。如下图1所示。 图1 有兴趣朋友可以到原网站下载示例工作簿,也可以到知识星球App完美Excel社群下载示例工作簿。

    2.2K40

    仿Excel撤销功能

    标签:VBA,工作事件 这是在www.vbaexpress.com中看到一个示例,实现了自己以前想做而未做事情。...也就是,模仿Excel撤销功能,特别是当VBA代码对工作进行操作后,使用Excel原始撤销功能是无法恢复,但可以使用VBA代码来实现,似乎就像Excel撤销功能一样。...主要思路是使用一个工作,来记录对工作所做修改,如果要撤销这些修改,就从这个工作取出原来值来恢复。注意,本文示例只针对特定区域,且只能撤销两次。...在操作工作表相应代码模块中输入下面的代码: Dim i As Long Private Sub Worksheet_Change(ByVal Target As Range) Dim rngToProcess..., "UNDO" End Sub 有兴趣朋友,可以到原网站搜索并下载该示例工作簿。

    15110

    Excel VBA事件——Worksheet

    Worksheet工作中常用事件个人认为有3个: 1、Worksheet_SelectionChange: 选择改变时候,意思是单元格选择变化后发生事件: Private Sub Worksheet_SelectionChange...选中所有单元格,设置条件格式: =ROW()=selectrow 在事件中设置工作重新计算,因为CELL("row")在单元格选择变化时候是不会重新计算 Private Sub Worksheet_SelectionChange...2、Worksheet_Change: 这个改变是指单元格数据变化后发生事件,而其实这个变化是只要单元格进入了编辑状态,再退出编辑状态时候,就是变化了: Private Sub Worksheet_Change...工作事件代码是放在Sheet#里面的,如果仔细看过Workbook事件,应该会发现其实Workbook事件里也有类似上面提到那几个事件:Workbook_SheetSelectionChange...名称里多了Sheet,这个事件意思就是针对所有的Sheet都有效果使用方法差不多,可以去尝试用用。 工作事件还有一些其他事件,也可以去尝试用用,根据自己实际情况选择去使用

    3K50

    问与答95:如何根据当前单元格中值高亮显示相应单元格?

    excelperfect Q:这个问题很奇怪,需要根据在工作Sheet1中输入数值高亮显示工作Sheet2中相应单元格。...具体如下: 在一个工作簿中有两个工作Sheet1和Sheet2,要求在工作Sheet1中列A某单元格中输入一个值后,在工作Sheet2中从列B开始相应单元格会基于这个值高亮显示相应单元格。...例如,在工作Sheet1单元格A2中输入值2后,工作Sheet2中从单元格B2开始两列单元格将高亮显示,即单元格B2和C2高亮显示;在工作Sheet1单元格A3中输入值3,工作Sheet2...图1:在工作Sheet1中输入数值 ? 图2:在工作Sheet2中结果 A:可以使用工作模块中事件来实现。...在工作Sheet1代码模块中输入如下代码: Private Sub Worksheet_Change(ByVal Target As Range) Const WS_RANGE As String

    3.9K20

    将单元格作为累加器

    或者可以是两个单元格,比如说,在A1中输入数字会立即与B1中值相加。 构建累加器最可靠方法是使用Worksheet_Change()事件。...当一个值被输入到单元格中时,该值被加到累加值,并被放回累加器单元格中。 在两个单元格累加器中,一个单元格中进行输入,另一个单元格中显示总数。要重置累加器,只需手动清除累加器单元格中值。...下面的代码在单元格A1中输入值,单元格B1将累加这些值,代码如下: Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target...下面的代码在单元格A1中累加在其中输入值,代码如下: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Static dAccumulator...也可以使用循环引用在不使用VBA情况下构造双单元格累加器。

    18010

    Excel应用实践24: 实现完美Excel公众号文章推送记录

    研究和分享Excel知识和技术是自已一项业余爱好,自已平时主要花时间还是在工作,毕竟这是自已饭碗。...今年1月1日在立自已今年flag时,突然想到,自已一直在研究Excel和VBA应用技术,何不将这个清单搬到Excel,岂不是更好! 下图1是用于记录文章3个工作。...其中,“待发表”工作中是已经写好但还未推送文章,“已发表”工作中是已经推送过文章,“分类”工作中存放着文章类别。 ?...图3 如果在“待发表”工作中填好数据后,在列C相应单元格中选择“是”,则会将该单元格所在行记录复制到“已发表”工作中。下图4是“已发表”工作结构。 ?...图4 实现上述功能代码如下,在VBE中双击“待发表”工作模块,输入下面的代码: Private Sub Worksheet_Change(ByVal Target As Range) '工作变量

    1K30

    Excel自定义任意图表通用模式

    以上动画中或者以下视频中,读者看到数据变化图表自动更新其实是一种错觉,因为电脑运行速度太快,本质是将数据变化前图片自动删除并用新图片覆盖。以下分步骤解说。 1....SVG Close #1 接着,将该文件导回Excel,如果是放在单元格迷你图,本公众号前期分享过导入Excel图片代码,读者可自行搜索;如果是放在工作指定位置大图,以下一句代码即可: ActiveSheet.Pictures.Insert...自动刷新 ---- 刷新图表有两种方式,一种是指定一个按钮,点击刷新: 另外可以自动刷新,新建一个新宏,如下所示,借助Worksheet_Change事件,当工作数据有变更自动促发VBA运行。...该代码有两个模块,首先删除当前工作所有图片(代码前期分享过,可公众号搜索),接着调用四象限方块图这个宏。...Private Sub Worksheet_Change(ByVal Target As Range) 删除图片代码 Call 四象限方块图 End Sub 以上即是完整Excel自定义图表流程

    2.8K10

    Excel实战:使用VBA实现自动规划求解

    标签:VBA,规划求解 规划求解可能是Excel中最好功能之一,但它使用起来相当不便,本文探讨一种自动化实现这项功能方法。 规划求解功能确定实现特定结果所需输入。...手工规划求解 使用上面的数字,假设想知道我们需要卖出多少套才能实现盈亏平衡(即,利润等于零)。 1.单击功能区“数据”选项卡“预测”组中“模拟分析——单变量求解”,如下图2所示。...使用VBA自动化求解 我们可以将相关单元格进行命名,然后在代码中运用,这样更加灵活且通用。...:=Range("SalesPrice") End Sub 我们再命名两个单元格名称: I4: SetCell I8: ChangeCell 在这两个单元格中输入下面的值: I4 = Profit I8...= SalesUnits 接着,在工作代码模块,输入下面的代码: Private Sub Worksheet_Change(ByVal Target As Range) Dim inputCells

    3.3K20
    领券