Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3954 / 13646 ツリー ←次へ | 前へ→

【59288】選択した範囲でグラフを作成する うぇい 08/12/4(木) 22:03 質問[未読]
【59301】Re:選択した範囲でグラフを作成する kanabun 08/12/5(金) 13:06 発言[未読]
【59306】解決です、有難うございました! うぇい 08/12/5(金) 15:34 お礼[未読]

【59288】選択した範囲でグラフを作成する
質問  うぇい  - 08/12/4(木) 22:03 -

引用なし
パスワード
   皆さん、こんにちは。
マクロ初心者ですので、あまりにも当たり前な内容でしたらすみません。

選択した範囲からグラフを作成するマクロを、記録により作成しました。
---------------------------
Sub test()
  Charts.Add
  ActiveChart.ChartType = xlLineMarkers
  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A13:F19"), PlotBy:=xlRows
  ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
  With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = " 題名 "
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = False
  End With
End Sub
----------------------------------
グラフの種類等はこれでほぼ間違いないのですが、
この部分以外にも数値を入力しており、その別な部分でもグラフを作成したいのです。
そこで範囲をあらかじめ選択し、その部分をグラフとするマクロにしようと思ったのですが

  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A13:F19"), PlotBy:=xlRows

「この一文を削除するだけでOK」と書いてあるページを発見しました。
確かにこれで自由な範囲からグラフが作れるので、最初はこれでもうOKだと思っていたのですが
これだとデータ範囲の系列が「列」設定になってしまいます。
「PlotBy:=xlRows」は残して、「行」設定のままグラフを作成したいのですが
それはどのようにすれば可能でしょうか。

説明が下手ですみません。よろしくお願いします。

【59301】Re:選択した範囲でグラフを作成する
発言  kanabun  - 08/12/5(金) 13:06 -

引用なし
パスワード
   ▼うぇい さん:
こんにちは。

>そこで範囲をあらかじめ選択し、その部分をグラフとするマクロにしようと思ったのですが

>これだとデータ範囲の系列が「列」設定になってしまいます。
>「PlotBy:=xlRows」は残して、「行」設定のままグラフを作成したいのですが
>それはどのようにすれば可能でしょうか。

こんな感じですかね

Sub Try2()
  Dim Src As Range
  If TypeName(Selection) <> "Range" Then
    MsgBox "元データ範囲を選択して実行してください"
    Exit Sub
  End If
  Set Src = Selection
  If Src.Columns.Count < 3 Then
    Set Src = Nothing
    MsgBox "元データ範囲を選択して実行してください"
    Exit Sub
  End If
  
  Charts.Add
  ActiveChart.ChartType = xlLineMarkers
  ActiveChart.SetSourceData Source:=Src, PlotBy:=xlRows
  ActiveChart.Location Where:=xlLocationAsObject, _
             Name:=Src.Worksheet.Name

  (以下省略)
End Sub

【59306】解決です、有難うございました!
お礼  うぇい  - 08/12/5(金) 15:34 -

引用なし
パスワード
   kanabunさん、ありがとうございました!
早速試させていただきました。
ちゃんと行設定になる上に、
範囲を指定しなかった場合のダイアログまで設定していただいて
いたれりつくせりといった感じです!

これを機に自分でも少しは構造を理解して
更に楽しんでいきたいと思います。
今回は本当に助かりました、有難うございました!

それでは、失礼します。

3954 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free