Excel VBA質問箱 IV

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

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


60866 / 76738 ←次へ | 前へ→

【20505】散布図を作りたい
質問  nogu  - 04/12/10(金) 16:24 -

引用なし
パスワード
   VBA初心者です。よろしくお願いいたします。

sheet1には作りたいグラフが2枚あります。
手がかりは、A列です。"赤"の部分と"青"の部分です。
グラフの種類は、散布図です。
データは下記のとおりです。

  A   B     C    D     E
1 赤    1    2500    ex    28.2%
2 赤    1    5000    wor    38.0%
3 赤    1    7500    ex    100.0%
4 赤    2    15000    wor    43.7%
5 赤    2    30000    ex    62.0%
6 赤    2    60000    wor    59.2%
7 赤    3    2500    ex    100.0%
8 赤    3    5000    wor    12.7%
9 赤    3    7500    ex    43.7%
10 赤    4    15000    wor    0.0%
11 赤    4    30000    ex    0.0%
12 赤    4    60000    wor    0.0%
13 青    5    2500    ex    0.0%
14 青    5    5000    wor    1.4%
15 青    5    7500    ex    0.0%
16 青    6    15000    wor    2.8%
17 青    6    30000    ex    19.7%
18 青    6    5000    wor    0.0%
19 青    7    10000    ex    0.0%
20 青    7    15000    wor    0.0%
21 青    7    30000    ex    4.2%
22 青    8    60000    wor    19.7%
23 青    8    2500    ex    100.0%
24 青    8    5000    wor    0.0%

とりあえず、赤の部分だけのグラフ作成をマクロの記録をしてみました。

Sub Macro1()
  Range("C1:C12,E1:E12").Select
  Charts.Add
  ActiveChart.ChartType = xlXYScatterLines
  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("C1:C12,E1:E12"), _
    PlotBy:=xlColumns
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R1C3:R3C3"
  ActiveChart.SeriesCollection(1).Values = "=Sheet1!R1C5:R3C5"
  ActiveChart.SeriesCollection(2).XValues = "=Sheet1!R4C3:R6C3"
  ActiveChart.SeriesCollection(2).Values = "=Sheet1!R4C5:R6C5"
  ActiveChart.SeriesCollection(3).XValues = "=Sheet1!R7C3:R9C3"
  ActiveChart.SeriesCollection(3).Values = "=Sheet1!R7C5:R9C5"
  ActiveChart.SeriesCollection(4).XValues = "=Sheet1!R10C3:R12C3"
  ActiveChart.SeriesCollection(4).Values = "=Sheet1!R10C5:R12C5"
  ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
  With ActiveChart
    .HasTitle = False
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = False
  End With
End Sub

このグラフで指定したいのが、B列を手がかりに1つ1つ系列のデータを指定したいのです。
表によっては、系列の数が違います。(青のように)

実際のデータはもっとたくさんあるので
なんとか自動化させたいので知恵をお貸し頂けると助かります。
0 hits

【20505】散布図を作りたい nogu 04/12/10(金) 16:24 質問
【20639】Re:散布図を作りたい ni 04/12/13(月) 18:57 発言
【20681】Re:散布図を作りたい nogu 04/12/15(水) 0:23 発言

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