基于单元格值合并单元格:Excel联动下拉菜单触发合并需求
Excel联动下拉菜单触发单元格自动合并方案
需求:D列与E列设置联动下拉菜单,当**E12单元格选中值“DD9900”**时,自动合并D12与D13、E12与E13单元格;若E12选择其他值,则取消上述单元格的合并状态。
实现代码(中文注释)
Private Sub Worksheet_Change(ByVal Target As Range) ' 检测修改的单元格是否为E12 If Not Intersect(Target, Me.Range("E12")) Is Nothing Then Application.EnableEvents = False ' 清除D12:D13和E12:E13区域之前的合并状态 If Me.Range("D12:D13").MergeCells Then Me.Range("D12:D13").Unmerge If Me.Range("E12:E13").MergeCells Then Me.Range("E12:E13").Unmerge ' 判断E12的值是否为"DD9900" If Me.Range("E12").Value = "DD9900" Then ' 合并D12:D13和E12:E13区域 Me.Range("D12:D13").Merge Me.Range("E12:E13").Merge End If Application.EnableEvents = True End If End Sub
使用步骤
- 打开目标Excel文件,按下
Alt+F11打开VBA编辑器 - 在左侧“工程资源管理器”中找到需要设置的工作表,双击打开其代码窗口
- 将上述代码粘贴到窗口中,保存文件为启用宏的工作簿(.xlsm格式)
内容的提问来源于stack exchange,提问作者Osama Mattar
相关产品推荐
相关产品推荐

