如何关联同一Excel文件的两个工作表实现记录同步删除
实现Sheet1删除首条记录时自动删除Sheet2首条记录的方案
方法:使用VBA宏实现联动删除
Excel自带功能无法直接实现这类联动删除逻辑,可通过编写简单VBA代码完成需求:
- 打开目标Excel文件,按下
Alt + F11组合键打开VBA编辑器 - 在左侧「工程资源管理器」中找到当前工作簿,双击Sheet1(或右键Sheet1选择「查看代码」)
- 在弹出的代码窗口中粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range) ' 触发条件:Sheet1的第一行被整行删除 If Target.Row = 1 And Target.Column = 1 And Target.Count = Cells.Rows.Count Then Application.EnableEvents = False ' 关闭事件触发,避免循环执行 Sheets("Sheet2").Rows(1).Delete ' 删除Sheet2的第一行 Application.EnableEvents = True ' 重新开启事件触发 End If End Sub
注意事项
- 保存文件时需选择
.xlsm格式(启用宏的工作簿),否则VBA代码会丢失 - 再次打开文件时,需要启用宏才能让代码生效
- 上述代码仅针对整行删除Sheet1第一行的场景,如果是删除第一行部分单元格触发联动,需要调整判断逻辑(但容易误触发,建议优先使用整行删除操作)
内容的提问来源于stack exchange,提问作者Lochana Liyange
相关产品推荐
相关产品推荐

