You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel下拉框选择时执行If/Else逻辑的VBA实现需求

实现Excel C26下拉选择联动D26/E26的VBA方案

以下是满足需求的VBA代码,直接放到目标工作表的代码模块即可:

Private Sub Worksheet_Change(ByVal Target As Range)
    ' 仅响应C26单元格的内容变更
    If Not Intersect(Target, Me.Range("C26")) Is Nothing Then
        Application.EnableEvents = False ' 禁用事件避免循环触发
        
        Select Case UCase(Me.Range("C26").Value)
            Case "YES"
                ' 清空D26、E26,允许手动输入自定义内容
                Me.Range("D26:E26").ClearContents
            Case "NO"
                ' 自动填入"N/A"
                Me.Range("D26:E26").Value = "N/A"
        End Select
        
        Application.EnableEvents = True ' 恢复事件监听
    End If
End Sub

代码说明

  • Worksheet_Change是工作表内置事件,当单元格内容修改时自动触发
  • Intersect判断变更的单元格是否为C26,避免无关操作触发代码
  • Application.EnableEvents = False是核心设置:修改D26/E26内容时会再次触发Change事件,禁用后可防止循环执行
  • UCase将C26的内容转大写,兼容"yes""Yes"等大小写变体的选择
  • 选择YES时清空单元格,完全开放手动输入权限;选择NO时自动填充指定内容

操作步骤

  • 右键点击目标工作表的标签(比如"Sheet1")
  • 选择「查看代码」,打开VBA编辑器的工作表代码模块
  • 将上述代码粘贴进去,保存文件为.xlsm格式(启用宏的工作簿)

内容的提问来源于stack exchange,提问作者Lidia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:26:21