退出切片器选择循环

时间:2019-03-12 13:29:18

标签: excel vba if-statement slicers

在网络上找不到任何答案,所以我们去了:

我试图找到一种方法来在切片器的i计数完成之前退出if语句。

假设我有2个切片器:a)国家和b)地区。选择一个国家/地区后,只有几个区域可以选择,然后我一个接一个地导出。

[...]
With ActiveWorkbook.SlicerCaches("Slicer_Region")
     '[.... something with i=1 which is different]
     For i = 2 To .SlicerItems.Count
            If Cells(41, 3).Value <> "" Then
                .SlicerItems(i).Selected = True
                .SlicerItems(i - 1).Selected = False
                Name = .SlicerItems(i).Name
                strFName = "Region " & Name & ".pdf"
                ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                strPath & strFName, Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            'Else:
            '    End If
            '    GoTo goout
            End If
        Next i
'goout:
End With 
[...] 

条件If Cells(41, 3).Value <> ""查看数据透视图中是否有数据-这将是第一行数据。因此,我避免导出空白区域。但是,即使不可能,循环仍会在每个区域(不在已经选择的国家/地区)继续进行。

一旦有一个“空区域”,后面的所有区域也将为空(因为切片器首先显示填充​​的区域)。因此,只要条件变为空Cells(41, 3).Value <> "",我就希望它退出循环,因为它只花时间做空。

我不知道该怎么做,这里代码中的方式给我一个错误:“ endif无阻塞if”-这很有意义

0 个答案:

没有答案