• 締切済み

【VBA EXCEL2000 グラフ】 月別グラフの1か月分のみ2分割する方法

4月から9月までのデータを散布図でグラフ化しました。 CODEが長いので方法だけご説明させて頂くと、 まず1~2の処理をDo Until Cells(myRow, "A").Value= ""で回しています。 1.A列にある日付データ(yyyy/mm/dd h:mm)からMONTH関数で月を取得(配列 mymonth(月数分)に格納) 2.取得した月を前後の行で比較し、異なる場合はActive行を配列(MonthRow)に格納 3.上記で取得した各月の最終行を使ってグラフ化 月ごとならば現在の内容でうまくいっているのですが、6月分のみ6/1~14,6/15~6/30で2分割したいのですが、頭を悩ませています。 mymonthが6月だったらDAY関数で日付を取得し、14日と15日の行番号を配列MYDAY(2)に格納・・・とまではやってみたものの、そこから先が進みません。 これまでの方法は無視してもかまいません。 1か月分のみ2分割にする良い方法があればご教示下さい。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 私は、散布図のグラフ化は、おそらく、Chart.SeriresCollection(i).Formula に数式を入れ込むことだと思います。再グラフ化は、少しまた違った手順が必要です。 コードをみないと、データの二分化に、配列というのはなんとも分りません。必然性が感じられません。セル上のシリアル値は、私は、Match関数を使って探します。 WorksheetFunction.Match(myDate,myRange,1) でよかったかと思います。 それで、実際の行番号を取って範囲を決めて、系列の数式にその範囲を入れてあげます。 ただ、VBAのご質問は、やはりコードがないと話が進みません。また、データの内容もサンプルがあると助かります。なかなか、お返事がつかなかったのは、そういうことかもしれません。

enotama
質問者

お礼

ありがとうございます。 質問の仕方に不備があったこと、お礼が遅くなったことをお詫びいたします。 まだVBA勉強中の身でコードを公の場に出すほど力も無いのでためらってしまいました。 MATCH関数は使ったことがないので、調べてみます。 ご指摘ありがとうございました。

関連するQ&A

  • Excel2007で月別円グラフを作成する方法

    お世話になります 1行目 B1~J1に項目名(仮にB,C,D,E,F,G,H,I,Jとします) 2行目~7行目(A2~A7)1月~6月の表です。 この表のB2~J7に月別の金額が入っています。 A!~ J7を選択して円グラフを作成すると1月のグラフになります 2月、3月…と送っていく方法はありますか 1行目を選んで、Ctrlを使って2月、3月と月を選択する方法で、で出来ますが、 何だかほかの方法がありそうで質問させていただきました。

  • Excel2010 項目の多いグラフについて

    元になる表に分類・項目・日付、数値とデータがあり、 1行~3行ぐらいのデータが週に3回くらい増加する表があります。 このデータをもとに、 横軸を「数値」 縦軸を、もとになる表で「分類と項目と日付」をCONCATENATE関数で1つのセルにまとめて 「A分類 項目1 日付」「A分類 項目1 日付」「A分類 項目2 日付」~~~の項目順に並べて 横棒グラフを作っています。。 項目が1のときは青色、項目2のときは赤色、項目3は緑色というように色を変たいと思い、 目で見て自分で1本ずつかえているのですが、更新するたびに色を直さねばならず不便さを感じています。 このように項目が多いグラフを作りたいときには、みなさんどんなふうにグラフにしているのでしょうか。 いろんな作り方があると思うので、他の方の作り方を参考させてもらえればと思っています。 回答よろしくお願いします。

  • EXCEL2010で動的なグラフを作りたい。

    行が増えていく表(図1)があり、この表を折れ線グラフにしておき行が増えて行った場合でもグラフが動的に行を認識してグラフの設定を触らずしてグラフが更新されていくようにしたいです。 図1   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF 1商品名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 りんご 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3 いちご 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 4 すいか 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 5 カボチャ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 • • • ※ヘッダー行は、部署名、日付(1~31日)で列はこれ以上増えません。 ※A列は商品名で動的に増減します。 ※B列~AF列は日付毎に集計したデータを入れて行きます。 SERIES関数、OFFSET関数では対応ができず、EXCEL VBAでないとできなさそうと思っていますがVBAがまったく分からず••詳しい方お知恵を拝借させてください。

  • エクセルで度数分布グラフを書く方法教えて

    エクセル上に170個のデータが10列17行の形で配列してあります。このデータの分布を表したいのですが、度数分布グラフの書き方を教えてください。=FREQUENCY()関数を使うのかとも思いますが、使い方がよく解りません。

  • 【VBA】レコードセットからグラフを作成

    Excel2002とAccess2002を使っています。 (1)Accessから取得したレコードセットをデータソースにして  グラフを作成する事はできますでしょうか?  (シートにレコードセットを格納せずに) (2)上記が実現不可なら、レコードセットを配列に代入し、  その配列をデータソースにしてグラフを作成する事はできますでしょうか? レコードセットを一度シートに吐き出す事は考えていません。 (1)、(2)とも具体的なコードを書いて頂けると助かります。 よろしくお願いします。

  • Excel VBA 配列の分割について

    Excel VBAでコーディングしていますが 行き詰っているのでお助け下さい。 (1)二次元配列に格納されている値の中から 特定の値が格納されている位置をループを使わず 取得したいのですがその方法が分かりません。 <例>  Dim x(2,2) As Valiant   x(0,0) = "あああ"   x(0,1) = "いいい"   x(0,2) = "ううう"   x(1,1) = "えええ"      ・      ・      ・ この配列から"えええ"が格納されている位置をループを使わず 取得する方法を教えてください。 ⇒ 1, 1 (2)二次元配列の指定した列(?)を一次元配列に 格納する方法も重ねて教えてください。 以上、よろしくお願いします。

  • EXCEL20001分ごとのデータを抽出したい

    お世話になっておりますm(__)m(このごろは頻繁に(^^ゞ) タイトルどおり、1分ごとのデータを抽出したいのです。 データは次のようになっています。 A列1行目から縦に日付です。 2002/1/1 2002/1/1 2002/1/1 2002/1/1 2002/1/1 2002/1/1 上記のように同じ日付がずーっとつづいています B列1行目から縦に時間です。 0:30:04 0:30:06 0:30:08 0:30:10 0:30:12 0:30:14 0:30:16 ・ ・ ・ 上記のように2秒ごとにデータがあるのです。 ただし、C列にもその日付と時間に対応したデータがあります。 2秒ごとにデータがあるのですが、 それを1分ごとのデータを抽出したいのです。 どうにかこうにかしてできないものでしょうか? 関数とかでできるでしょうか? VBAとかはぜんぜんやったことがないので、 もしそれをつかわなければ出来ない場合は、 詳しく説明してくださればうれしいです(涙

  • 横入力データのEXCELグラフ作成

    縦ではなく横にデータが入力されている場合のEXCELのグラフ作成方法をご存知の方おしえてください。ためしに作ってみたのですがうまくいきません。一行目A........Zセルに日付データ、二行目A・・・セルにデータが入力されておりまして折れ線グラフを作成、その後元のデータ 系列タブ クリック  値の項目にデータを選択し、 項目軸ラベルに使用の項目に日付データを選択したところグラフは完成したのですが、完成されたグラフの日付が2E+ と文字化けしており(作成中のプレビューでは20080703などとうまくできています)日付の文字化けをなおす方法はありますでしょうか?

  • Excel2002 グラフについて

    よろしくお願いいたします。 仕事でよくグラフを作成するのですが、中のデータは結構異なるのですが、同じ雛形から作っているのでXY軸の最大・最小値や、タイトル名、XY軸の名前の変更が煩雑になってきてしまっております。 そこで、グラフタイトル、X/数値軸名、Y/数値軸名、各軸の最大値と最小値をセルの中から取得して反映することはできないでしょうか??? 4月 10 5月 50 6月 30 7月 28 8月 100 9月 36 10月 95 11月 66 12月 36 1月 35 2月 96 3月 64 たとえばこういったデータ郡があったとして、X軸にに左の月、Y軸に右の数値をとったグラフを作成したときに、Y軸の最小は10で、最大は100なので、セルから量数値を取得してグラフの軸設定に反映させたいのです。 さらに、上の表に名前をつけるのですが、グラフにも表の名前をセルから取得させて表示したいと考えています。 何かよい方法はないでしょうか。

  • 【EXCEL VBA】データの並べ替えの方法

    元データが左から右へ氏名コード、日付(2011/5/1)、出社時刻、退社時刻、日付(2011/5/2)、出社時刻、退社時刻、・・・・・日付(2011/5/31)、出社時刻、退社時刻、と順に1ヶ月分入力されています。(画像上) このデータを一番左端に氏名コード、上から日付(2011/5/1)、出社時刻、退社時刻、行を変えて日付(2011/5/2)、出社時刻、退社時刻、・・・・・日付(2011/5/31)、出社時刻、退社時刻。(画像下)と言う形に行・列の並べ替えをしたいと考えています。 EXCELの機能である、「コピー→編集→形式を選択して貼り付け→行列を入れ替える」では対応できず、VBAマクロ又は関数で試みようとしましたが、こちらも対応方法が見つかりません。 何かいい方法がございましたら、ご指導のほど宜しくお願い致します。 尚、作業環境はWindows7、MS office2010です。 

専門家に質問してみよう