- ベストアンサー
エクセルで2つの項目を下から規定数のデータでグラフ
- エクセルで2つの項目を下から規定数のデータでグラフを描画するためのVBAコードが正常に動作しない問題が発生しています。
- VBAのコードを確認しましたが、問題はありませんでした。グラフ範囲が選択された状態で止まり、グラフが描画されません。
- 1系列のグラフを描画するためのコードを移植しましたが、グラフが描けないため困っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その変更でできましたよ。 データの方が間違っていませんか。 ・K列、N列にデータが無い ・項目名が13行目にない。 1系列の場合 Q7: K R7: K にしてしまうのが、手っ取り早いです。
その他の回答 (1)
- SI299792
- ベストアンサー率47% (774/1618)
私の作ったものだと思いますが、これは、グラフの作成でなく、変更だと思います。 どのようなグラフだったか覚えていないので、前の質問のアドレスを載せて下さい。
お礼
失礼しました。 慌ててアドレスとアドバイスを見間違いました。 これのことでしょうか? https://okwave.jp/qa/q9911567.html#answers
補足
早々に再度のご回答ありがとうございます。 ハイ、目的のシート上に2系列のグラフを作成してからVBAを実行しているのですが???? ちなみにグラフの作成より条件の変更のVBAの方が便利です。(色んなシートに応用出来ますので) グラフが無いとエラーになると思うのですが、エラーは表示されずにグラフ範囲、条件の選択(灰色に変わる)で止まります。 止まった状態のまま、「挿入」「折れ線グラフ」を選択すると目的のグラフが作成されます。 それに続けてデータ数を変更してVBAを実行しても何も変化せずに、変更した指定のデータ範囲が灰色に変わります。 うまく動くシートを1枚だけ別のBook1にコピーして、元のVBAコード(下記)をC&Pすると正常に動きます。 何が違うのか私の知識ではチンプンカンプン 前回のご回答は下記の通り。 実際には、グラフクリックでVBAが動作するMacro2も記載されていましたが、割愛しています。 ========================= 画像には「製品A」~「製品D」のシートしかありません。 これでは、全てのシートにグラフを作るのだと思ってしまいます。現実に近い画像を上げて下さい。 でしたら、グラフデータの範囲の変更の方がいいですね。グラフが無いとエラーになります。 1番最初に作ったグラフが対象です。グラフが複数ある場合(無いと思いますが)対象となるグラフを右クリック、最背面へ移動、最背面へ移動、を行ってください。 Sub Macro1() Dim RSta As Integer Dim REnd As Integer ' REnd = Cells(Rows.Count, [C7].Value).End(xlUp).Row RSta = WorksheetFunction.Max([C10], REnd - [C9] + 1) Range([C7] & [C8] & "," & [C7] & RSta & ":" & [C7] & REnd & "," & _ [D7] & [C8] & "," & [D7] & RSta & ":" & [D7] & REnd).Select ActiveSheet.ChartObjects(1).Chart.SetSourceData Selection End Sub
お礼
早々のご回答ありがとうございました。 何とか解決できました。
補足
何度ものご回答ありがとうございました。 データは間違っていませんし、項目名も13行目に入っています。 ほぼ定型書式なので間違いなく、詳細は再質問に記載しました。 原因不明ですが解決できました。 当方のシートの不備でお手数をおかけし申し訳ありませんでした。