Excel 需要If语句来检查单元格的范围

Excel 需要If语句来检查单元格的范围,excel,vba,Excel,Vba,我有一个子例程,它为特定位置调用另一个子例程并创建透视表。我刚刚意识到,如果我的原始数据中没有特定位置的数据,宏就会崩溃。我想设置一些If-then语句,以便它不会尝试运行特定的Call语句,除非该位置存在。下面是子程序: Sub EachLocationPivot() Call LocationPivot("Barker Library") Call LocationPivot("Dewey Library") Call LocationPivot("Hayden L

我有一个子例程,它为特定位置调用另一个子例程并创建透视表。我刚刚意识到,如果我的原始数据中没有特定位置的数据,宏就会崩溃。我想设置一些If-then语句,以便它不会尝试运行特定的Call语句,除非该位置存在。下面是子程序:

Sub EachLocationPivot()

    Call LocationPivot("Barker Library")
    Call LocationPivot("Dewey Library")
    Call LocationPivot("Hayden Library")
    Call LocationPivot("Music Library")
    Call LocationPivot("Rotch Library")

    End Sub

可以在名为“原始数据”的工作表上的EF4:EF500范围内找到位置名称信息。因此,如果位置“Music Library”不在该范围内,我不希望线路调用LocationPivot(“Music Library”)运行。然后,它应该转到下一个呼叫线路并执行相同的测试,但该位置名称除外。

这非常接近您所需要的<代码>c可能是一个变体

With Worksheets("Raw Data").Range("EF4:EF500")
    Set c = .Find("Barker Library")
    If Not c Is Nothing Then
        Call LocationPivot("Barker Library")
    End If
End With

也许您应该将该检查添加到
LocationPivot
子例程中?
如果IsError(Application.Match(str,Sheets(“Raw Data”).Range(“EF4:EF500”),则退出Sub
——其中
str
LocationPivot
子例程中作为必需参数的变量名。太棒了!如果您觉得有帮助,请单击绿色向下箭头,然后单击向上箭头,以“接受”答案?谢谢,如果您觉得有帮助,请单击绿色的向下箭头和向上箭头“接受”答案?谢谢,吉姆