Excel VBA質問箱 IV

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

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


4314 / 76735 ←次へ | 前へ→

【78044】Re:マクロでグラフ作成
発言  マナ  - 16/3/13(日) 20:28 -

引用なし
パスワード
   ▼のりっぺ さん:
ちょっと書き換えてみました。
(理解しやすいようにしたつもり)

Sub test()
  Dim shn As String
  Dim SC As Long, LC As Long
  Dim i As Long
  Dim 系列名 As String, X軸 As String, Y軸 As String, 系列番号 As Long
  Dim 式 As String
   
  shn = "Sheet1"
  
  SC = 9
  LC = 15

  With ActiveSheet.ChartObjects(1).Chart
    For i = 1 To 5
      系列名 = shn & "!R6C" & i + 41 & ":R7C" & i + 41
      X軸 = shn & "!R" & SC & "C1:R" & LC & "C1"
      Y軸 = shn & "!R" & SC & "C" & i + 41 & ":R" & LC & "C" & i + 41
      系列番号 = i
      式 = "=SERIES(" & 系列名 & "," & X軸 & "," & Y軸 & "," & 系列番号 & ")"
      
      .SeriesCollection(i).FormulaR1C1 = 式
    Next
  End With

End Sub

でも、わたしの場合、Formulaプロパティより
XValuesやValuesプロパティを使うほうが、わかりやすいです。
こんな書き方もあるという参考まで。


Sub test2()
  Dim ws As Worksheet
  Dim SC As Long, LC As Long
  Dim X軸 As Range
  Dim i As Long
   
  Set ws = Worksheets("Sheet1")
  
  SC = 9
  LC = 15
  
  Set X軸 = ws.Range("A" & SC & ":" & "A" & LC)

  With ActiveSheet.ChartObjects(1).Chart
    For i = 1 To 5
      With .SeriesCollection(i)
        .XValues = X軸
        .Values = X軸.Offset(, i + 40)
      End With
    Next
  End With

End Sub
5 hits

【78037】マクロでグラフ作成 のりっぺ 16/3/12(土) 22:56 発言[未読]
【78038】Re:マクロでグラフ作成 γ 16/3/13(日) 7:21 発言[未読]
【78039】Re:マクロでグラフ作成 のりっぺ 16/3/13(日) 9:43 発言[未読]
【78040】Re:マクロでグラフ作成 γ 16/3/13(日) 12:07 発言[未読]
【78041】Re:マクロでグラフ作成 のりっぺ 16/3/13(日) 18:27 お礼[未読]
【78042】Re:マクロでグラフ作成 γ 16/3/13(日) 19:03 発言[未読]
【78043】Re:マクロでグラフ作成 のりっぺ 16/3/13(日) 19:25 お礼[未読]
【78044】Re:マクロでグラフ作成 マナ 16/3/13(日) 20:28 発言[未読]
【78045】Re:マクロでグラフ作成 のりっぺ 16/3/13(日) 22:11 質問[未読]
【78046】Re:マクロでグラフ作成 マナ 16/3/13(日) 22:45 発言[未読]
【78047】Re:マクロでグラフ作成 のりっぺ 16/3/13(日) 23:08 お礼[未読]

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