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

Mac版Excel VBA启用AutoFilter时1004报错的解决方案

解决Mac版Excel VBA设置自动筛选+工作表保护的1004错误

你的代码报错是因为Mac版Excel的VBA不允许对未激活工作表的单元格执行Select操作,而且完全没必要用Select来开启自动筛选,直接操作单元格范围的AutoFilter属性就行。

修正后的代码如下:

For Each ws In ThisWorkbook.Worksheets
    ' 直接给表头行开启自动筛选,这里用第一行,可根据实际表头范围调整
    ws.Rows(1).AutoFilter
    ' 设置工作表保护,替换为你的实际密码
    ws.Protect "password"
Next ws

补充说明:

  • 如果你的表头是特定单元格范围(比如A1:C1),可以改成ws.Range("A1:C1").AutoFilter
  • 去掉Select和Selection的操作,不仅解决Mac版兼容性问题,还能提升代码执行效率
  • 若要确保自动筛选处于开启状态(避免重复执行导致切换状态),可添加判断:
    If Not ws.AutoFilterMode Then
        ws.Rows(1).AutoFilter
    End If
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:25:26