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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) excel ピポットテーブルの更新について 1 2022/05/13 16:12
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
エクセルVBAで行削除時にエラーが発生します。
Excel(エクセル)
-
「#エラー」の回避
Access(アクセス)
-
-
4
Excel VBA:特定の文字列以降(あるいは以前)のテキストをすべて取得する方法
Visual Basic(VBA)
-
5
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
6
VBA for i=1 to lastrow
Excel(エクセル)
-
7
マクロの「Rangeメソッドは失敗しました’Globalオブジェクト」エラーの解決方法について
Excel(エクセル)
-
8
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
VBAマクロ実行時エラーの修正に...
-
Rangeの範囲指定限界
-
【VBA】【ユーザーフォーム_Lis...
-
Excel UserForm の表示位置
-
CSVファイルを読み込んだらセル...
-
C# DataGridViewで複数選択した...
-
Excel VBAで特定の範囲の空白セ...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】写真の貼り付けコードが...
-
Excel 範囲指定スクショについ...
-
DataGridViewでグリッド内に線...
-
For~Next ループ内でUnionメソ...
-
FlexGridのセル内文字を点滅さ...
-
VBA 複数条件の分岐処理の上手...
-
昨日、質問した件『VBA にて、...
-
マクロ初心者です。 マクロで範...
-
マクロの実行時エラー'1004'が...
-
ExcelVBA チェックボックスに値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
エクセルVBA 配列からセルに「...
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
【Excel VBA】一番右端セルまで...
-
Excelで空白セル直前のセルデー...
-
【VBA】写真の貼り付けコードが...
-
VBAコードについて教えてくださ...
-
【VBA】【ユーザーフォーム_Lis...
-
Excel 範囲指定スクショについ...
-
VBAでユーザーフォームにセル値...
-
VBA:日付を配列に入れ別セルに...
-
VBA にて、条件付き書式で背景...
-
Excel VBAでCheckboxの名前を変...
-
複数指定セルの可視セルのみを...
-
Excel VBA IF文がうまく動作し...
-
エクセルのカーソルを非表示に...
-
入力規則のリスト選択
-
VBA 複数条件の分岐処理の上手...
おすすめ情報