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

执行删除特定列的VBA代码时触发Type Mismatch错误

解决VBA删除多列时的Type Mismatch错误

错误原因

你代码中直接使用sh.Columns("B:D,I:AZ,BC:BJ,BO:EQ")会触发类型不匹配,因为Columns方法仅支持单个列标识(如"B")或连续列范围(如"B:D"),无法直接解析逗号分隔的多组非连续列范围字符串。

修正方案

改用Range对象指定多区域列范围,再调用EntireColumn.Delete删除整列,代码如下:

Sub Delete_Specific_Columns()
    Dim sh As Worksheet
    Set sh = ActiveSheet
    sh.Range("B:D,I:AZ,BC:BJ,BO:EQ").EntireColumn.Delete
End Sub

额外注意

如果目标工作表处于保护状态,也可能引发类似错误,请确保操作前解除工作表保护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:25:28