• 締切済み

EXCELのマクロにて

下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 マクロに変数(?)を設定すると出来るらしいのですが記述がわからないのです。

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> 記述がわからないのです。 「マクロの記録」を利用しましょう。 ~.AutoFilter Field:=1, Criteria1:="10" ~.PivotLayout.PivotFields("No").CurrentPage = "10" のようになると思います。 > 上端でフィルターをかけNo列にて特定の値を選んだときに 「特定のボタンが押されたときに」であれば、ButtonCkickのイベント、 「セルの内容が変更されたときに」であれば、Worksheet_Changeのイベントで取得可能ですが、 残念ながらフィルタの条件が変更された場合にはイベントを取得する事が出来ないと思います。 対処案としては、 ボタンを押す。 フィルタの条件を選択するダイアログを表示。 指示された内容に従い、フィルタ、ピボットグラフを更新。 とかをすれば出来そうですが、かなり面倒かも。 ボタンを押したときに、ピボットグラフをフィルタの内容に同期する程度なら何とかなる気もしますが。 -- 以下、小言です。 マルチポストはやめた方が良いと思います。 はじめの一歩 : マルチポストは失礼な行為です。 http://www.ippo.ne.jp/netiquette/common/04question/multipost.htm …ですが、質問したけど期待した回答が無いという事は良くあります。 個人的にですが、マルチポストで困るのは情報の集約が出来ないという点です。 例えば、今回あんまり関係ないですが、OSは?Excelのバージョンは?などという事が書かれていないと、別々の回答者が同じ事を確認するのは労力の浪費です。 他の質問での他の回答者の指摘を質問者が理解できない場合でも、また別の回答者が見れば、より良い回答を思いつくかも知れません。 こういう場合、 ・あらかじめ、別の場所で質問している旨を断る。 ・別の質問で確認した詳細な状況、得られた情報、経緯、URLを提示する。 ・同じサイト内の別カテゴリに複数質問するのなら、回答して欲しい場所のURLなどを提示し、誘導する。 などの配慮が欲しいです。

関連するQ&A

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 よろしくお願いします。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。

  • エクセルのマクロで特定の文字列を選択したい

    集計表にピボットテーブルを2つ入れるマクロを作成しています。 その際に、出来あがったピボットテーブルの項目ごとの合計を 表示しないためには、対象となるセルを選択して(Select) 表示しないを選択する(Selection.Delete)ことはマクロの記録からわかりました。 しかし、ピボットテーブルの枠が固定されているわけではないので、 合計欄の選択がうまくできません。 結果的には、A列の何行目かに「B在庫」という文字列が表示されていて、 その下からピボットテーブルが作成されています。 その「B在庫」の文字列から「右に3、下に2」と「右に1、下に5」 進んだセルをそれぞれ指定して(Select)削除(Selection.Delete)したいと思っています。 どのように「B在庫」と入力された文字列を探し出すのか、 また、そこから「右に3、下に2」と「右に1、下に5」進んだセルを 指定する方法を教えていただけないでしょうか。

  • エクセルで閉じるときのマクロ

    あるエクセルファイルがあり、 その一枚のシートにはオートフィルタ (A~Z列まで)を使用しています。 【質問1】 ファイルを保存して閉じる際、 オートフィルタで抽出したものを 「すべて」に戻す、 つまりなにも抽出されていない(=左端の行番号が黒字) に戻すマクロはどこにどのように書けばよいでしょうか? オートフィルタを戻すマクロは、 'オートフィルタのあるシートを選択 Sheets("買取リスト").Select 'T列のオートフィルタを「すべて」にする Selection.AutoFilter Field:=22 というところまでは理解できました。 【質問2】 上記のマクロを Sheets("顧客リスト") から、Sheets("商品リスト")へ移動した際、 ボタン等を使用せずに、 (ただ、下のタブをクリックするだけで) 実行させることは可能でしょうか? 可能であれば、どこにどのように記述すれば よいでしょうか??  よろしくお願いします。

  • エクセルのマクロで、こまっています。

    エクセル2000のマクロで、こんな作業をしたいのですが、 基本設定:「シート1」       グラフ(上半期)と、その元になる表(上半期)がある。       表は、月ごとの(シート3の)フラグ別で集計されている。      「シート2」       シート1と同じ内容で、下半期分がある。      「シート3」       シート1、2の元になる表があり、A列に日付、B列以降にフラグが数個あり、       コメントが続く。 希望動作:マクロを実行すると、シート3の表を、      実行日の年度の上半期、下半期、B列以降のフラグで、      フィルタをかけ、ヒットする件数をシート1、2に送る。 これだけのことなんですが、解らないことがあって止まっています。  (1)、今日の日付を取得し、その年度の上半期(4/1~9/30)    下半期(10/1~3/31)を取得する。    A列の日付は、(2002/11/15 18:45)という形式です。  (2)、フィルタをかけた後、ヒットした件数を取得する関数。 よろしくお願いします。

  • EXCELのマクロで。。。

    シートAのセルC2の値(数字)を シートBのE、F、Gの各列のうち空いている一番左のセルで、かつ、D列に何か書いてある一番下の行のセル に転記したいです。 たとえば、シートBが図のような場合にはF28です。これが毎回、変化します。 マクロの記述を教えて下さい。よろしくお願い致します。

  • 強制的にシングルコーテーションをつけるマクロを教えてください。

    いろいろやってみたいのですが うまく行かず行き詰っています。 どなたかアドバイスお願いします。 Excel2002を使用しています。 ピボットテーブルで集計された表を使って 別表の検索キーとなるA列の値と合致した場合 B列の値を入れる一覧表を作成しています。 別表はデータベースの値を使用していて テキストとしてエクスポートされています。 ピボットテーブルで求められた値を VLOOKUPで検索するために一度別シートに 値のみ貼り付けを行っています。 しかしうまく値が拾えません。 セルの表示形式などを変えたのですが 拾ってくるところと拾わないところにばらつきが あります。 値の前に'(シングルコーテーション)を つけて強制的に文字列として扱うと拾ってきます。 1つの表が300行近くあり列も150列と膨大な表です。 出来たらピボットテーブルの値を別シートに 貼り付けるときに一緒にA列の値にのみ '(シングルコーテーション)をつけるマクロを 教えていただけたらと思います。 よろしくお願い致します。

  • エクセル マクロでの行挿入は・・・・

    マクロを勉強中です。 特定の列の値(下の表では5列の『サブコード』です)が、 4~6 の時に、1行挿入し上の行のコピーを貼りつけ、 7~9 の時は、2行挿入して上の行をコピー貼りつけ・・・ という作業が、マクロでできますでしょうか? ご回答を、お待ちしております。 どうか、よろしくお願い致します (u_u)

  • Excel2000マクロ

    お世話になっております。 マクロのことで教えてください(マクロ初心者です(^_^;)) A列・・日付 B列・・時刻 C列・・数値データ “時刻”が2秒おきのデータなので1分おきのデータを抽出したいので、D列にSECOND関数を使って秒だけを抜き出し、 オートフィルタで“0”だけを抽出し、これで1分おきのデータを抽出し、 B列がX軸でC列がY軸のグラフを作ります。 これをマクロで記録して自動的にやりたかったのです。 ですが、 「D列にSECOND関数を使って秒だけを抜き出し、 オートフィルタで“0”だけを抽出し、これで1分おきのデータを抽出し、・・」 のところは、うまくマクロで自動化できるのですが、 別シートに出来たグラフを見ると、一番最初に記録して作ったグラフがそのまんまできてしまいます。 次のデータでグラフをつくりたかったのですが。。 これはどうしてでしょう? グラフまではうまくできないのでしょうか?

  • エクセルのマクロで実行したいです!

    こんにちは。エクセルのマクロで実行したいことがあります。 周りに聞く人もいなくて困っています。 エクセルのデータがあり、売上の集計をしないといけませんが、 その前にデータを整える必要があります。 A列の10000000番代以上で会社によって固定の値となります。 A列の1~1005番までが担当コードでその横が(B列)担当者名になります。 実行したいマクロは、サンプルとしてF列~L列に表示しておりますが、 実際は、A列~G列に実行します。 またB列の【不良代替】とある文字、及び【小 計】の行は削除します。 また区分(B列に挿入)には「0」か「1」の数値が入りますが、 それは後にVLOOKをあてるので、問題ないです。 マクロ実行後に、いろいろな会社がありますが、支店も本店(何も記載なし)も 別の列でいいので、例えばI列などに合わせて合計を表示したいです。 名称が色々あるため、一社一社数えると日が暮れてしまいます。 それをマクロで記載するのはできますでしょうか。 ピボットテーブルは使わない方向で行きます。 可能な限りマクロで実行したいので、ご存じの方がいらっしゃれば、 ご教授頂きたいです。宜しくお願いいたします。

専門家に質問してみよう