VBA初心者です。 以下の事をVBAマクロで組みたいのですがアドバイス頂けませんでしょうか?
<やりたい事> エクセルでA列に月日時分がありB列以降に200行くらいのデータテーブルがあるのですが、 チェックボックス等でグラフ表示したい行を選択して、その行だけを散布図としてグラフ化したいです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No.1です。


こんなのでしょうか?
Private Sub CommandButton1_Click()
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values = Range("B" & Selection.Row).Resize(Selection.Rows.Count, 1)
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).XValues = Range("A" & Selection.Row).Resize(Selection.Rows.Count, 1)
End Sub
「グラフの自動化」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。
これを参考にしてtryしようと思います。

お礼日時:2009/05/17 11:26

回答者に、コードを書いてくださいと丸投げの質問。


>散布図
2列のデータの対を点として捉えるものと思うが列の選択はどうなるのか。
範囲を指定するのはチェックボックスは不向きと思うが、どう考えているか。初心者だろうが、グラフを描いて、マクロの記録を取りましたか。そこでどこを任意に変えれはよいのか、コード上で考えましたか。
質問する前に、初心者ならそれで、まずやることをやって無いのでは。
初心者では、コントロール(チェックボックスなど)と関連付けるのなど次のステップ。InputBoxででもとりあえず行(列)指定する方式にして、うまく行ってから改良するもんだ。
    • good
    • 0
この回答へのお礼

ご助言ありがとうございます。
ただ、仕事上で至急対応する必要があって、精通している方にアドバイスもらいたかっただけです。

お礼日時:2009/05/17 21:06

こんなのはどうでしょうか?


既にグラフがあるとして、A列が選択されたらその行をデータ系列の値として設定します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values = Range("B" & Target.Row).Resize(1, 10)’10は横数なので適当に変更してください
End If
End Sub
「グラフの自動化」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。
質問の仕方間違えてました。選択した任意の行でなく列が正しいです。

例えばC/D/E列を選択して、”グラフ作成”
 というコマンドボタンを押すと

X軸が月日時分で、C/d/E列が系列として 散布図のような感じです。

質問の言い方間違えてすみませんでした。

お礼日時:2009/05/17 09:18

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


人気Q&Aランキング

おすすめ情報