添付画像を見る限りですが,そのグラフの横軸はデータ番号になっているのではないかと思います.
899行目のデータが横軸899付近にあり(開始が1行ずれているなら898かと思いますが),縦軸の値はポップアップでは100.333?と思いますがy軸と合わないですね・・・何でしょう.
グラフの「データの選択」を見るとわかると思いますが,選択セル範囲に対して散布図のx値y値としてではなく系列1,系列2として認識しているのかもしれません.
とにかく,今回の問題は「マクロの記録」の不具合に起因するものだと思います.
散布図を作ろうとすると
lang
1 '記録されるままの状態
2 ActiveSheet.Shapes.AddChart.Select
3 ActiveChart.SetSourceData Range("'Sheet1'!$B$6:$C$26")
4 ActiveChart.ChartType = xlXYScatter
のように記録されるかと思いますが,これだと
チャートオブジェクトを作成して
ソース範囲を指定し
チャート種別を散布図に変更する
という流れになります.
これでは2行目のソースが指定された時点で一旦棒グラフを作成してしまうことになり,そのあとで散布図に変更してもデータ系列の取り扱い方が上手く変わってくれません.
そこで,以下のように2行目と3行目の順番を変更します
lang
1 '上手く作成できるはずの例
2 ActiveSheet.Shapes.AddChart.Select
3 ActiveChart.ChartType = xlXYScatter
4 ActiveChart.SetSourceData Range("'Sheet1'!$B$6:$C$26")
このように
チャートを作成して
(ソースデータが無いまま)散布図に変更し
ソース範囲を指定する
ことで解決できるかと思います.
もちろん,コード例のセル範囲は環境に合わせて使ってください.
VBAの「マクロの記録」関係はたまに不具合があるので(自分はチャート関連でしか遭遇してないですが)あまり過信せず,生成されたコードを1行ずつ追っていけばわかることもありますので.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/25 13:48