プロが教えるわが家の防犯対策術!

エクセル2007使用してます。折れ線グラフと表を作りたいです。表は調査の数値結果を入力するもの。折れ線グラフは、表に記入された数値をしめすもの。同じデータ内で、シートによってわけます。折れ線グラフは、グリッドと数値・単位までは自分で作り、ここに、折れ線グラフを表現したいのですが、自分で線を引くと、数値の変更がかなりあるので、数値を入力すると線も自動で引かれるように設定したいのですが、どのようにリンク・ルール作りさせたらよろしいのでしょうか。ご教授願います。

「エクセル2007 折れ線グラフの作成」の質問画像

A 回答 (4件)

良く分からないのですが、Excel既存のグラフ機能を使わないで、ってことでしょうか?

この回答への補足

そうなると思います。グラフを表現する土台(シート)は自分で書き、その上に折れ線グラフを表現したいので、既存のグラフ機能だと土台がこちらの意図する表現の物がないので。

補足日時:2009/01/19 12:45
    • good
    • 0

Excel既存のグラフ機能を使わないで、ということなら、マクロで、オートシェイプの直線を描画することになるかと思います。



>既存のグラフ機能だと土台がこちらの意図する表現の物がないので。
どのような機能が不足しているとお考えですか?
工夫すれば、既存のグラフ機能でも実現できるかも知れません。

この回答への補足

>Excel既存のグラフ機能を使わないで、ということなら、マクロで、オートシェイプの直線を描画することになるかと思います。
その方法を教えていただきたくての、質問です。

>どのような機能が不足しているとお考えですか?
工夫すれば、既存のグラフ機能でも実現できるかも知れません。
表現するグラフの基盤は画像のとおりできていますので「折れ線のみ」を表と関連づけして自動描写できるようにしたいのが希望です。

補足日時:2009/01/19 16:35
    • good
    • 0

残念ながら、添付画像の画質が悪く、どのようなスタイルのグラフなのか詳細が掴めません。



≫マクロでやるなら
コードが解らなければ「マクロの記録」を利用してください。
お分かりだとは思いますが、セル範囲をプロットエリアに見立てるわけですから
項目数 = セル列範囲のWidthプロパティ値
最大値 = セル行範囲のHeightプロパティ値
ということで、データ値と最大値の比から
シート上のプロット位置の、X座標、Y座標を算出
といった事をしなければなりません。
    • good
    • 0

進んでいますか?


数値から直線を描画するサンプルマクロを組んでみました。

グラフ用データ
セル範囲 C22:L22 に、140以下の数値を入力しておいてください。

Sub test1()
  Dim vrng As Range, grng As Range
  Dim l As Single, t As Single
  Dim w As Single, h As Single
  Dim x1 As Single, y1 As Single
  Dim x2 As Single, y2 As Single
  Dim pmax As Single
  Dim i As Integer

  pmax = 140 'Y軸最大値
  Set vrng = Range("C22:L22") 'データセル範囲
  Set grng = Range("C5:L18") 'プロットエリア

  l = grng.Left
  t = grng.Top
  w = grng(1).Width
  h = grng.Height
  
  For i = 2 To vrng.Count
    x1 = l - w / 2 + w * (i - 1)
    x2 = l - w / 2 + w * (i)
    y1 = t + h - h * vrng(i - 1).Value / pmax
    y2 = t + h - h * vrng(i).Value / pmax
    ActiveSheet.Shapes.AddLine x1, y1, x2, y2
  Next i
  
  Set vrng = Nothing: Set grng = Nothing
End Sub
    • good
    • 0
この回答へのお礼

すみません。勉強不足のため、マクロ等調べているのですが、全くはかどっていません。教えて頂いた設定方法もよく理解できていないのが現状です。もっともっと具体的な質問を新たに投稿します。もしよろしければ一度のぞいていただけたら幸いです。

お礼日時:2009/01/23 14:16

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