• ベストアンサー

Excel VBA Columns.Group で実行エラー1004

いつもお世話になっております Excel2007で以下のプルグラムで列のグループ化をしているのですが、エラーしてしまいますなぜでしょうか?Excel97なら上手くいくのですが・・・・・ <プログラム> Columns("G:I").Group 実行すると「実行エラー:1004」が出ます。 どなたかご教授願います

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

エラー番号の他にエラーの説明が出ると思うのですが、 それを提示した方が解決が早いでしょう。 因みに、シートの保護がかけてあると質問のエラーが出ます。 が、エラーメッセージにはその由書いてあるので分かるのですが。。。 以上です。  

liberty01
質問者

お礼

回答ありがとうございます。 助かりました。

liberty01
質問者

補足

回答No1の補足に書いたものがエラーの詳細です。(エラー説明は書いてません) エラー説明については今度からちゃんと書きますね>< シートの保護・・・・・・あ!ピポットテーブル作成してピポットテーブルのフィールド設定終わると保護みたいな感じなってたような!! 原因がわかりましたね^^ありがとうございます

その他の回答 (1)

回答No.1

Excel 2007 で何のデーターもない状態で正常にグループ化されました。 Sub test() Columns("G:I").Group End Sub 参考までに。

liberty01
質問者

お礼

回答ありがとうございました。

liberty01
質問者

補足

確かにこれだけのコードで書いた場合は落ちませんでした>< っで、じゃあ自分が書いた奴はなんで落ちるんだ?って話になりさらに調べたところ。 Excelマクロ内でピポットテーブルを作る処理をしているのですが、どうもピポットテーブルを作成する処理の後にグループ化をすると落ちるようです。orz ~処理内容~ 'ピポットテーブルを作成 ActiveSheet.PivotTableWizard _ SorceType:=xlDatabase, _ SourceData:=strDataSpan, _ TableDestination:="", _ TableName:="Table" 'ピポットテーブルの設定 With ActiveSheet.PivotTables("Table")     '行フィールド追加     .AddFields RowFields:=Array("会社","社員")     '列フィールド追加     With .PivotFields("商品")        .Orientation = xlColumnsField        .Position = 1     End With     'データフィールド追加     With .PivotFields("売上")        .Orientation = xSataField        .Function = xlSum        .Position = 1     End With End With 'G~I行をグループ化 Columns("G:I").Group っと、上記のようなコードを書くとエラーします。。。。。原因がよくわからないのでピポットテーブル作成直後にグループ化したら落ちなくなりました! 一応これでOKってことで、ありがとうございました。

関連するQ&A