首页 > 解决方案 > 隐藏列 VBA 代码 - 类型不匹配错误

问题描述

Private Sub Worksheet_Change(ByVal Target As Range)
 
If Not Intersect(Target, Range("$D:D")) Is Nothing Then
    Select Case Range("$D:D")
        Case "Disposal": ACF_Disposal
    End Select
End If

End Sub

我正在尝试隐藏列;G、H、O、S、T 和 U当在D 列中选择“处置”的相关下拉选项时。我在这里对 VBA 完全陌生。此代码取自在线并与 1x 单元格选择一起使用;IE 宏在Cell D3填充有“Disposed”且Cell D3时执行。

已尝试将范围修改为;" D:D, $D, $D;D$ 和 $D3:$D1000每次相同的错误代码;运行时错误 '13': 类型不匹配

我现在对 VBA 语法有足够的了解来纠正这个问题并感谢任何帮助。

编辑;

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.CountLarge > 1 Exit Sub Then
 If Not Intersect(Target, Range("D:D")) Is Nothing Then
Select Case Target.Value
 Case "Disposal": ACF_Disposal
 End Select
End If
End Sub

标签: excelvbasyntaxtype-mismatch

解决方案


推荐阅读