[[20120601085715]] 『Windows 7にOSを変更したらマクロが動かなくなっax(MN) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Windows 7にOSを変更したらマクロが動かなくなってしまいました』(MN)

Windows2000で作成したマクロで、XPに移行した際は問題ありませんでした。
今回Windows 7にOSが変更されたところ、途中で動かなくなってしまいました。
直せなくてとても困っております。
お手数ですが、ご教授ください。

下記の「 .PivotItems("(空白)").Visible = False」この箇所で止まってしまいます。
エラーメッセージには、PivotFieldクラスのPivotItemsプロパティを取得できません。
と出ています。

    ActiveSheet.Unprotect
    Range("B4:H5").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "入力表!R4C2:R120C8").CreatePivotTable TableDestination:="", TableName:= _
        "ピボットテーブル5"
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("ピボットテーブル5").SmallGrid = False
    ActiveSheet.PivotTables("ピボットテーブル5").AddFields RowFields:=Array("支払方法", _
        "よみがな", "名前")
    With ActiveSheet.PivotTables("ピボットテーブル5").PivotFields("金額")
        .Orientation = xlDataField
        .Caption = "合計 : 金額"
        .Function = xlSum
    End With
    With ActiveSheet.PivotTables("ピボットテーブル5").PivotFields("よみがな")
        .PivotItems("(空白)").Visible = False
    End With
    Range("B5").Select
    ActiveSheet.PivotTables("ピボットテーブル5").PivotFields("よみがな").Subtotals = Array( _
        False, False, False, False, False, False, False, False, False, False, False, False)
    Range("F3").Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "入力表!R4C2:R120C8").CreatePivotTable TableDestination:=Range("F3"), TableName _
        :="ピボットテーブル6"
    ActiveSheet.PivotTables("ピボットテーブル6").SmallGrid = False
    ActiveSheet.PivotTables("ピボットテーブル6").AddFields RowFields:=Array("名前", "適用", _
        "支払方法")
    With ActiveSheet.PivotTables("ピボットテーブル6").PivotFields("金額")
        .Orientation = xlDataField
        .Caption = "合計 : 金額"
        .Function = xlSum
    End With

 変わったのは OS だけでしょうか。
 OSをバージョンアップして、マクロが影響を受けることはあまり無い気がするのですが、
 EXCEL のバージョンアップでは互換性がよく問題になります。
 もし現在の EXCEL が 2007 以降でしたら、下記が原因ではないでしょうか。

 Excel 2007 SP2 もしくは Excel 2010 の環境で空白セルを "(空白)" と指定したマクロのフィルター処理を実行するとエラーが発生する
http://support.microsoft.com/kb/978761/ja 

できました!ありがとうございました。(MN)

 解決して何よりですが、次回からは質問時に EXCEL のバージョンを書かれると
 解決が早いと思います。
 (Mook)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.