2017-01-22 20 views
0

以下のコードは、Excel 2013およびExcel 2010および2016を使用する2台の他のコンピュータで正常に動作しますが、Slicerセクション(無効な手順)ユーザーの1人。無効なプロシージャコールまたは引数 - Excel VBAスライサーキャッシュ

このエラーが他のユーザーから表示されているのは今回が初めてで、これまで他のレポートでこれを使用していました。マクロが他のコンピュータや鉱山でもうまく動作するため、これを引き起こした可能性があることを私は知りません。

これを修正するにはどうすればよいですか?

Sheets("Scorecard").Select 
**ActiveWorkbook.SlicerCaches("Slicer_Country").ClearManualFilter** 
With ActiveWorkbook.SlicerCaches("Slicer_Resourcing_Team") 
    .SlicerItems("RT1").Selected = True 
    .SlicerItems("RT2").Selected = True 
    .SlicerItems("RT3").Selected = True 
    .SlicerItems("RT4").Selected = False 
End With 

答えて

0

以下のコードは、 "Country"と "Resourcing_Team"という2つのスライサーで動作します(これはスライサーの名前であることをワークブックで確認してください)。

推奨ActiveWorkbookを使用しないようにし、代わりに完全修飾オブジェクトを使用してください。私はこのコード "SO_1.xlsm"であなたのワークブックの名前に変更します)。

コード

Option Explicit 

Sub SlicersTst() 

Dim WB      As Workbook 
Dim CountrySlcrCache  As SlicerCache 
Dim ResourcingSlcrCache  As SlicerCache 

Set WB = Workbooks("SO_1.xlsm") 
Set CountrySlcrCache = WB.SlicerCaches("Slicer_Country") '<-- set Slicer Cache to "Slicer_Country"  
CountrySlcrCache.ClearManualFilter '<-- clear manual filters 

Set ResourcingSlcrCache = WB.SlicerCaches("Slicer_Resourcing_Team") '<-- set Slicer Cache to "Slicer_Resourcing_Team" 
With ResourcingSlcrCache 
    .SlicerItems("RT1").Selected = True 
    .SlicerItems("RT2").Selected = True 
    .SlicerItems("RT3").Selected = True 
    .SlicerItems("RT4").Selected = False 
End With 

End Sub 
関連する問題