
ushiushiです。
Excel2000でマクロを組んでいます。
ピポットテーブルで、合計欄を展開して、csvファイルを作成しようとしていますが、
展開するときに「実行時エラー'1004'」が出てどうしよう使用もありません。
デバックで、見てその続きを処理させるとその後は何事もなく動きます。
どこが悪いのか見当が付きませんので、すみませんが、お教え下さい。
よろしくお願い致します。
---- macro -----
Range("表の左隅").Activate 'ピポットテーブルの左上にセルを移動
ActiveSheet.PivotTables("ピボットテーブル3").RefreshTable 'ピポットテーブル更新
'最終地点に移動
Selection.End(xlDown).Select '表の最下段に移動
Selection.End(xlToRight).Select '表の右端へ移動。ここで合計欄にセルが移動する
'データを展開
If Selection.Column < 255 Then '更新時、データが無い場合セルが255列にいるかどうか確認
Selection.ShowDetail = True '表を展開。ここでエラーが発生する
Else
GoTo owari '表が無い場合は次の処理へ移動
End If
---- EOF ----
---- Error messages ----
実行時エラー'1004'
RangeクラスのShowDetailプロパティを設定できません。
---- EOF ----
No.1ベストアンサー
- 回答日時:
>Selection.End(xlDown).Select '表の最下段に移動
>Selection.End(xlToRight).Select '表の右端へ移動。ここで合計欄にセルが移動する
これでは不安定なので
With ActiveSheet.PivotTables("ピボットテーブル3")
.RefreshTable
With .DataBodyRange
With .Item(.Count)
If Not IsEmpty(.Value) Then
.ShowDetail = True
End If
End With
End With
End With
..などのように範囲を指定したほうが良いです。
DataBodyRange や TableRange1 、 TableRange2 などの各プロパティについて調べてみてください。
ありがとうございました。
DataBodyRangeで表を選択して、.Item(.Count)で表全体を確認し、IsEnpty(.value)で最終行を選択したという事でしょうか?
「With」をあまり使わないので、理解するまで時間が掛かってしまいました。(まだ100%解っていない様な気もするが)
実際に動かしてみると、非常に小気味よく動きますね。レコードマクロとはぜんぜん違います。とても効率よく動いています。
大変勉強になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
【VBA】【ユーザーフォーム_Lis...
-
EXCEL VBA 文中の書式ごと複写...
-
コンボボックス or リストボッ...
-
マクロ
-
お力添えください。
-
VBA 重複文字列 色付け
-
エクセルVBA 配列からセルに「...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
VBA 特定のセルからoffsetされ...
-
【マクロ】実行時エラー '424':...
-
ロックされていないセル内をクリア
-
あああ..ああい..ああう とい...
-
特定の文字がある行以外を削除...
-
結合されたセルをプルダウンの...
-
別ブックをダイアログボックス...
-
マクロの「SaveAs」でエラーが...
-
VBAで、特定の文字より後を削除...
-
エクセルでセルをクリックする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報