执行删除特定列的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
相关产品推荐
相关产品推荐

