2017-11-09 5 views
0

以下のコードで何が問題になりますか? VBA - ワークシートのメソッドをアクティブ化できませんでしたか?

私はワークシートの

方法アクティベートがwsがちょうどPivotTableをフィルタリングするActivateする必要はありません

Sub addMOnth() 

Dim ws As Worksheet 

For Each ws In ActiveWorkbook.Worksheets 
    ws.Activate  
    If ws.Name <> "SUMMARY" And ws.Name <> "Store" And ws.Name <> "Apps" Then 

     ActiveSheet.PivotTables("PivotTable1").PivotFields(_ 
     "[Report Date Structure].[Month].[Month]").VisibleItemsList = Array(_ 
     "[Report Date Structure].[Month].&[2.01711E5]")   
    End If 
Next ws 

End Sub 

答えて

1

を失敗したエラーを得ました。

は、コードのコメント内の説明を、以下のコードを試してみてください。

Sub addMOnth() 

Dim ws As Worksheet 

For Each ws In ThisWorkbook.Worksheets 
    With ws 
     Select Case .Name 
      Case "SUMMARY", "Store", "Apps" 
       ' do nothing 

      Case Else ' equivalent to your If with multiple AND 
       .PivotTables("PivotTable1").PivotFields(_ 
        "[Report Date Structure].[Month].[Month]").VisibleItemsList = Array(_ 
        "[Report Date Structure].[Month].&[2.01711E5]") 
     End Select    
    End With 
Next ws 

End Sub 
+0

おかげサー!これはうまくいった:) – jhovyn

+0

@jhovynあなたは大歓迎です:) –

関連する問題