Excel 宏出错,因为autofilter没有';我没有价值
我编写了一个宏,根据手动输入的用户设置调用工作表中的一些记录。我使用的代码如下所示:Excel 宏出错,因为autofilter没有';我没有价值,excel,vba,autofilter,Excel,Vba,Autofilter,我编写了一个宏,根据手动输入的用户设置调用工作表中的一些记录。我使用的代码如下所示: Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Serial Number Data") Sheets("Serial Number Data").Select sh.UsedRange.AutoFilter 7, Range("project").Value sh.UsedRange.AutoFilter 8, Range("platform").Val
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Serial Number Data")
Sheets("Serial Number Data").Select
sh.UsedRange.AutoFilter 7, Range("project").Value
sh.UsedRange.AutoFilter 8, Range("platform").Value
sh.UsedRange.AutoFilter 9, Range("equipment").Value
问题是这些过滤器的组合并不存在。当用户为不存在的组合输入值时,宏将出错。如果值无效,是否有方法在宏中设置标志并发送错误消息。我已经考虑过为输入设置相关过滤器,以消除前端的错误,但可能需要考虑100种组合。您可以使用
应用程序。CountIfs
来确定这些值的组合是否存在:
With sh.UsedRange
If Application.CountIfs(.Columns(7), sh.Range("project").Value, _
.Columns(8), sh.Range("platform").Value, _
.Columns(9), sh.Range("equipment").Value) = 0 Then
' Combination not found
End If
End With
我找到了一个简单的方法来解决这个问题。宏的下一个操作是剪切并粘贴到不同的工作表。我发现它走了这么远,没有发生错误。当然没有数据,所以我使用了If工作表(“myrange”).Range(“b13”).Value=”“,然后设置一个错误标志并结束宏