advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2422 for ピボットテーブル (0.004 sec.)
[[20190820131358]]
#score: 4769
@digest: ac477c4bee9daf76e133f3e8081aaa53
@id: 80517
@mdate: 2019-08-21T03:10:11Z
@size: 7173
@type: text/plain
#keywords: bioferman (35279), xlrepeatlabels (18928), repeatalllabels (18705), 桁カ (18705), hasautoformat (18488), subtotals (18337), ingriddropzones (18175), pvf (17580), 値フ (15088), マ表 (14331), pivotfield (13636), xltabularrow (12718), rowaxislayout (12059), pivottables (6146), ピボ (5445), numberformat (3836), pivotfields (3828), ィー (3093), ル書 (2954), 計方 (2802), ボッ (2529), 動記 (2125), ルド (2080), 渡辺 (2017), トテ (1999), 既存 (1973), 動作 (1933), ット (1877), ーブ (1733), テー (1686), ブル (1301), 次第 (1254)
『(Excel2010 VBA)アクティブセルのピボットの初期設定を変更したい』(Bioferman)
Office2010のVBAにて アクティブシートのピボットテーブルの設定を変更する マクロを組もうとしております。 ネット上で紹介されていたマクロを参考に、本質問文末のとおり作成し、 自身の環境で動作することを確認しました。 現状のマクロに、以下2件の要件を追加したいと考えております。 1:値フィールドの集計方法を「合計」に変更する 2:値フィールドのセル書式を3桁カンマ表示(数値)に変更する 色々と試しましたが、 それらしいコードを挿入しても、構文エラーが出てしまいます。 ご指導のほど、よろしくお願い申し上げます。 --------------------(現状のマクロ)---------------------- Sub ピボット修正() 'Keyboard Shortcut: Ctrl+Shift+T Dim ピボット 'シート内のすべてのピボットについて処理を行う For Each ピボット In ActiveSheet.PivotTables '集計を削除するfor文 For Each テーブル In ActiveSheet.PivotTables(ピボット.Name).PivotFields テーブル.Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) Next テーブル With ピボット .InGridDropZones = True '従来のピボットテーブルレイアウトにする .RowAxisLayout xlTabularRow '表形式にする .HasAutoFormat = False '「更新時に列幅を自動調整する」を「オフ」 .RepeatAllLabels xlRepeatLabels '「アイテムのラベルをすべて繰り返す」を「オン」 End With Next ピボット End Sub ---------------------------------------------------- < 使用 Excel:Excel2010、使用 OS:Windows10 > ---- ピボットテーブルのマクロは複雑なので、マクロの自動記録から始めてみては? (渡辺ひかる) 2019/08/20(火) 14:28 ---- 渡辺ひかる様 ご返信ありがとうございます。 VBA自体が難しいと思っていましたが、 ピボットテーブルは特に複雑なのですね。。 自分で調べたり、ご提案いただきました、自動記録を試したりするなかで 該当動作のコード自体は、以下のとおりと推測するに至ったのですが、 1:値フィールドの集計方法を「合計」に変更する ⇒Function = xlSum 2:値フィールドのセル書式を3桁カンマ表示(数値)に変更する ⇒NumberFormat = "#,##0" 上記を、すでに動作確認できている既存のマクロにどのように組み込んで (既存マクロの動作を阻害しない形で、設定対象を定義して)、 セットで機能させるか、 というところをご指導いただきたく、質問した次第です。 そもそも、無理なことを求めた質問になってしまっていたら 申し訳ございません。 よろしくお願い申し上げます。 (Bioferman) 2019/08/20(火) 15:01 ---- >上記を、すでに動作確認できている既存のマクロにどのように組み込んで >(既存マクロの動作を阻害しない形で、設定対象を定義して)、 >セットで機能させるか、 >というところをご指導いただきたく、質問した次第です。 ピボットテーブルの操作のみのコードは完成しているということでしょうか? であれば、その プロシージャ名を 現行のマクロの 適当な部分(おそらく最後)に 書き込んで呼び出すようにすればいいのでは? >それらしいコードを挿入しても、構文エラーが出てしまいます。 どこでエラーが出るのか書いてもらわないと何とも言えません >該当動作のコード自体は、以下のとおりと推測するに至ったのですが、 推測したら確認しないと・・・ (渡辺ひかる) 2019/08/20(火) 17:44 ---- 失礼しました。 私が冒頭の投稿で書いたマクロを確認いただきたいのですが、 そこまでは完成しており、 動作も確認しました。 ここに上述の2要件を加えたく、 途中、末尾などさまざまな箇所に、思いつく限りの形で、 マクロ自動記録で確認した上述の構文を追加したものの、 様々なエラーが出る、という、状況です。 エラー内容は複数にわたるため、全て挙げるのは困難ですが、 変数定義が重複している、というものか、 対象を定義できていない、というものが、多かったです。 恐らく、対象の定義の仕方がポイントなのかと思われますが、 その点は、自動記録での確認は困難に思われましたので、 質問した次第です。 マクロの基本的な仕組みを理解できていないため、 簡単にかんがえていたのですが、 習熟された方でもそうそう実現できないレベルの難しい内容、 ということが推察できました。 ありがとうございました (Bioferman) 2019/08/21(水) 00:20 ---- ピボットのレイアウトがわかりませんので、何とも言えませんが、 こんな感じで出来ませんか。 Sub Sample() Dim pvt As PivotTable Dim pvf As PivotField For Each pvt In ActiveSheet.PivotTables With pvt .InGridDropZones = True .RowAxisLayout xlTabularRow .HasAutoFormat = False .RepeatAllLabels xlRepeatLabels For Each pvf In .PivotFields If pvf.Name <> "データ" Then pvf.Subtotals(1) = False End If Next For Each pvf In .DataFields pvf.Function = xlSum pvf.NumberFormat = "#,##0_ " Next End With Next End Sub (きまぐれ) 2019/08/21(水) 07:50 ---- きまぐれ様 お世話になります。 返信ありがとうございます。 ご提示いただいたマクロをテストしましたところ、望んでいた通りの挙動となりました。 本当にありがとうございます。 あと1点だけ、後出しで申し訳ないのですが、値フィールドの列(項目数)が複数の場合に 「実行時エラー 1004 PivotFieldクラスのSubtotals プロパティを設定できません」 というエラーが出てしまいます。 (1項目の場合は正常に動作します。) 値フィールドが複数項目になってもエラーにならないようにするには どのようなマクロとすればよろしいでしょうか。 ピボットを多用する部門に所属しておりまして、 本マクロが完成しますと、 同僚も喜んでくれそうです。 お願いばかりで恐縮ですが、よろしくお願い申し上げます。 (Bioferman) 2019/08/21(水) 09:39 ---- Excel2010が手元に無いので、想像ですが、 おそらくExcel2010ではデータと言う名前のpivotFieldが無いのでは? 以下に変更して下さい。 For Each pvf In .PivotFieldsFields On Error Resume Next pvf.Subtotals(1) = False On Error GoTo 0 Next (きまぐれ) 2019/08/21(水) 11:33 ---- きまぐれ様 ご返信ありがとうございます。 頂戴した部分を置き換えたところ、 想定どおりに動作しました! バージョンによっても異なるのですね。 お手元にないなかでも適切にご指導下さり、恐縮です。。 御礼・ご報告までに、 最終的なマクロを、こちらに残させていただきます。 ----------------------------------------------- Sub ピボット修正() 'Keyboard Shortcut: Ctrl+Shift+T Dim pvt As PivotTable Dim pvf As PivotField For Each pvt In ActiveSheet.PivotTables With pvt .InGridDropZones = True '従来のピボットテーブルレイアウトにする .RowAxisLayout xlTabularRow '表形式にする .HasAutoFormat = False '「更新時に列幅を自動調整する」を「オフ」 .RepeatAllLabels xlRepeatLabels '「アイテムのラベルをすべて繰り返す」を「オン」 For Each pvf In .PivotFields On Error Resume Next pvf.Subtotals(1) = False On Error GoTo 0 '集計を削除する Next For Each pvf In .DataFields pvf.Function = xlSum 'フィールドの集計方法を「合計」に変更する pvf.NumberFormat = "#,##0_ " '値フィールドのセル書式を3桁カンマ表示(数値)に変更する Next End With Next End Sub (Bioferman) 2019/08/21(水) 12:10 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201908/20190820131358.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97050 documents and 608246 words.

訪問者:カウンタValid HTML 4.01 Transitional