重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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分割にする良い方法があればご教示下さい。

A 回答 (1件)

こんにちは。



私は、散布図のグラフ化は、おそらく、Chart.SeriresCollection(i).Formula に数式を入れ込むことだと思います。再グラフ化は、少しまた違った手順が必要です。

コードをみないと、データの二分化に、配列というのはなんとも分りません。必然性が感じられません。セル上のシリアル値は、私は、Match関数を使って探します。

WorksheetFunction.Match(myDate,myRange,1)
でよかったかと思います。

それで、実際の行番号を取って範囲を決めて、系列の数式にその範囲を入れてあげます。

ただ、VBAのご質問は、やはりコードがないと話が進みません。また、データの内容もサンプルがあると助かります。なかなか、お返事がつかなかったのは、そういうことかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
質問の仕方に不備があったこと、お礼が遅くなったことをお詫びいたします。

まだVBA勉強中の身でコードを公の場に出すほど力も無いのでためらってしまいました。
MATCH関数は使ったことがないので、調べてみます。

ご指摘ありがとうございました。

お礼日時:2005/11/06 01:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!