- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ActiveSheet.RefreshAllがエラ)
ActiveSheet.RefreshAllがエラーになる理由
このQ&Aのポイント
- エクセル2007でピボットテーブルがあるシートをアクティブにして、ActiveSheet.RefreshAllを実行すると、オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)になります。しかし、ActiveWorkbook.RefreshAllに変更すると、更新されます。なぜActiveSheetだとエラーになるのでしょうか?
- エクセル2007でのActiveSheet.RefreshAllのエラーについて教えてください。ピボットテーブルがあるシートをアクティブにして、Sub test()の中でActiveSheet.RefreshAllを実行すると、オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)が発生します。ただし、ActiveWorkbook.RefreshAllに変更すると、エラーは発生せずに更新されます。なぜActiveSheetだとエラーになるのでしょうか?
- エクセル2007でのActiveSheet.RefreshAllのエラーについて教えてください。ピボットテーブルがあるシートをアクティブにして、Sub test()の中でActiveSheet.RefreshAllを実行すると、オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)が表示されます。しかし、ActiveWorkbook.RefreshAllに変更すると、正常に更新されます。なぜActiveSheetだとエラーになるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
RefreshAllはWorksheetのメンバにはなくて、Workbookのメンバだからです。 一番簡単なメンバーの調べ方は、下記の様にActivesheet, Activeworkbook等を、オブジェクト変数に入れて使用します。こうすると、下記コードで、wbkやwshを打ち込んだ時に、そのメンバが表示されます(Microsoftではインテリセンスと呼んでいます)ので、その中から選択すれば良いです。逆に、表示されないものはメンバーに無いという事になります。 Sub test() Dim wsh As Worksheet Dim wbk As Workbook Set wsh = ActiveSheet Set wbk = ThisWorkbook 'ここから、wshやwbkをVBEで打ち込んでみると、メンバーが表示される End Sub 上記では、オブジェクトである、ワークブック、ワークシートのプロパティやメソッドを総称してメンバと呼んでいます。 オブジェクトとそのプロパティ等については下記が分かり易いかと思います。ご参考まで。 http://www.office-ma.net/category/vba/macro/vba2-2.html 他にはVBEのオブジェクトブラウザを用いる方法もあります。 http://msdn.microsoft.com/ja-jp/library/cc344181.aspx
お礼
ありがとうございます。