Excel VBA質問箱 IV

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

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


54057 / 76738 ←次へ | 前へ→

【27485】Re:グラフの挿入時のエラー回避について
回答  Kein  - 05/8/10(水) 12:28 -

引用なし
パスワード
   ↓「グラフ作成1」ボタンに登録するコード

Sub MyChart1()
  Dim Ch As ChartObject, MyCh As ChartObject
  Dim Lp As Single, Wp As Single, Hp As Single
 
  With ActiveSheet
   If .ChartObjects.Count > 0 Then
     For Each Ch In .ChartObjects
      If Ch.TopLeftCell.Address = "$G$1" Then
        Ch.Delete
      End If
     Next
   End If
   With .Range("G1:L9")
     Lp = .Left + 5
     Wp = .Width - 10
     Hp = .Height - 10
   End With
   Set MyCh = .ChartObjects.Add(Lp, 5, Wp, Hp)
   MyCh.Chart.ChartType = xlLine
   For i = 49 To 53
     If Not IsEmpty(.Cells(i, 2).Value) Then
      With MyCh.Chart.SeriesCollection.NewSeries
        .XValues = .Name & "!$A$48:$K$48"
        .Values = .Name & "!$A$ & i & ":$K$" & i
      End With
     End If
   Next i
   MyCh.Chart.HasTitle = True
   MyCh.Chart.ChartTitle.Text = .Range("A47").Value
  End With
  With MyCh.Chart.ChartTitle
   .Font.Size = 15
   .Border.ColorIndex = 5
  End With
  With MyCh.Axes(xlCategory)
   .HasTitle = True
   .AxisTitle.Text = "日付"
   .AxisTitle.Font.Size = 12
  End With
  With MyCh.Axes(xlValue)
   .HasTitle = True
   .AxisTitle.Text = "データ2"
   .AxisTitle.Font.Size = 14
  End With
  Set MyCh = Nothing
End Sub

↓「グラフ作成2」ボタンに登録するコード
    
Sub MyChart2()
  Dim Ch As ChartObject, MyCh As ChartObject
  Dim Wp As Single, Hp As Single
 
  With ActiveSheet
   If .ChartObjects.Count > 0 Then
     For Each Ch In .ChartObjects
      If Ch.TopLeftCell.Address = "$A$1" Then
        Ch.Delete
      End If
     Next
   End If
   With .Range("A1:F9")
     Wp = .Width - 10
     Hp = .Height - 10
   End With
   Set MyCh = .ChartObjects.Add(5, 5, Wp, Hp)
   MyCh.Chart.ChartType = xlLine
   For i = 40 To 46
     If Not IsEmpty(.Cells(i, 2).Value) Then
      With MyCh.Chart.SeriesCollection.NewSeries
        .XValues = .Name & "!$A$39:$K$39"
        .Values = .Name & "!$A$ & i & ":$K$" & i
      End With
     End If
   Next i
   MyCh.Chart.HasTitle = True
   MyCh.Chart.ChartTitle.Text = .Range("A38").Value
  End With
  With MyCh.Chart.ChartTitle
   .Font.Size = 15
   .Border.ColorIndex = 5
  End With
  With MyCh.Axes(xlCategory)
   .HasTitle = True
   .AxisTitle.Text = "日付"
   .AxisTitle.Font.Size = 12
  End With
  With MyCh.Axes(xlValue)
   .HasTitle = True
   .AxisTitle.Text = "データ1"
   .AxisTitle.Font.Size = 14
  End With
  Set MyCh = Nothing
End Sub

*提示された表では一部、行や列範囲があいまいなため、セルアドレスを推測で
指定しているところがあります。その点はそちらで正確に修正して下さい。
0 hits

【27483】グラフの挿入時のエラー回避について andy 05/8/10(水) 11:38 質問
【27485】Re:グラフの挿入時のエラー回避について Kein 05/8/10(水) 12:28 回答
【27521】Re:グラフの挿入時のエラー回避について andy 05/8/10(水) 19:41 質問
【27533】Re:グラフの挿入時のエラー回避について Kein 05/8/10(水) 22:35 回答
【27551】Re:グラフの挿入時のエラー回避について andy 05/8/11(木) 15:38 質問
【27555】Re:グラフの挿入時のエラー回避について Kein 05/8/11(木) 16:23 回答
【27652】Re:グラフの挿入時のエラー回避について andy 05/8/15(月) 1:36 質問
【27695】Re:グラフの挿入時のエラー回避について Kein 05/8/16(火) 14:46 回答

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