Excel 参数非自动筛选代码的可选错误

Excel 参数非自动筛选代码的可选错误,excel,vba,autofilter,Excel,Vba,Autofilter,我对VBA不是很精通。我正在尝试创建一个宏,用于过滤活动工作表的表中的0和N/a。运行宏时,我得到的错误参数不是可选的,并引用回ws.Range行 我看过其他代码,我不确定我到底做错了什么 清除子对象 ' '根据\u值删除\u行\u ' ' 将ws设置为工作表 将activeTable设置为字符串 activeTable=ActiveSheet.ListObjects1.Name MsgBox activeTable'确保拉取正确的表格 '设置对工作簿中工作表的引用 设置ws=ActiveShe

我对VBA不是很精通。我正在尝试创建一个宏,用于过滤活动工作表的表中的0和N/a。运行宏时,我得到的错误参数不是可选的,并引用回ws.Range行

我看过其他代码,我不确定我到底做错了什么

清除子对象 ' '根据\u值删除\u行\u ' ' 将ws设置为工作表 将activeTable设置为字符串 activeTable=ActiveSheet.ListObjects1.Name MsgBox activeTable'确保拉取正确的表格 '设置对工作簿中工作表的引用 设置ws=ActiveSheet ws.Activate'不是必需的,但允许用户在出现警告消息时查看工作表 '清除任何现有筛选器 出错时继续下一步 ws.ShowAllData 错误转到0 '1应用筛选器 ws.Range.AutoFilter字段:=8,准则1:=0,运算符:=xlOr,准则2:=N/A '2删除行 Application.DisplayAlerts=False ws.RangeactiveTable.SpecialCellsxlCellTypeVisible.Delete Application.DisplayAlerts=True '3清除过滤器 出错时继续下一步 ws.ShowAllData 错误转到0 端接头 宏结束时,我希望从活动工作表的表中删除任何包含0或N/a值的行。

ws.RangeA1:M300。。。范围对象需要一个范围

由于您已经获得了该表的名称,因此可以将其用作参数:

ws.RangeactiveTable.AutoFilter字段:=8,准则1:=0,运算符:=xlOr,准则2:=N/A
它仍然显示相同的错误并突出显示相同的代码行。@Stephanie我刚刚测试了您的所有代码,并进行了我建议的更正,效果很好。。。你有更新线路吗?如果是的话,你能分享一下工作簿吗?我很乐意看看还有什么地方出了问题。我确实更新了它。我最终将整个宏复制到了一个新工作簿中,现在它可以正常工作了。谢谢你的帮助!