Range类AutoFilter方法调用失败:VBA运行时错误1004求助
解决VBA AutoFilter 1004错误问题
错误原因
- 代码中
Cells(1,18).Value未指定所属工作表,默认引用当前活动工作表的S1单元格,若活动工作表不是"SN crew",会导致筛选区域与条件单元格不在同一工作表,触发1004错误。 - 需额外确认:
Range("A:J")包含第10列(J列),且S1单元格有有效筛选值(空值可能引发异常)。
修改后的代码
Sub test2() Dim snws As Worksheet: Set snws = ActiveWorkbook.Sheets("SN crew") With snws .AutoFilterMode = False ' 明确指定条件单元格属于当前With块的工作表 .Range("A:J").AutoFilter Field:=10, Criteria1:=.Cells(1, 18).Value End With End Sub
额外注意事项
- 确认"SN crew"工作表存在且未被保护(保护状态下无法执行AutoFilter)。
- 检查S1单元格的值格式是否与J列数据匹配(比如文本/数字类型一致)。
内容的提问来源于stack exchange,提问作者Tcherke
相关产品推荐
相关产品推荐

