Excel VBA質問箱 IV

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

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


76569 / 76738 ←次へ | 前へ→

【4590】連続グラフ作成中のエラーについて
質問  pino  - 03/3/27(木) 19:53 -

引用なし
パスワード
   以前ここの質問箱でお世話になった物ですが
連続してグラフを作成するマクロです。
最近になって連続して2000個のグラフを作成しようと思い
実行したのですが、250個目辺りで
 .SeriesCollection(1).XValues = r1 のところでエラーが出てしまいます。
また、一度マクロを終了しても、文字等をセルに入力しようとすると
"このブックにはこれ以上フォントを設定できません1004":というエラーが出て
しまいます。
当方Macを使用していますが、Winで実行してもグラフの個数は違いますが
エラーは出てしまいます。
Excel 2000 を使用しています。
一個目からエラーが出てしまえば原因も分かりそうなんですが
250個も作ってからなので何が原因か私には解りません。
みなさん どうぞ宜しくお願いいたします。

-------------------------------------------------------------------

Sub グラフ()
  Dim co As ChartObject
  Dim ws1 As Worksheet, ws2 As Worksheet
  Dim r1 As Range, r2 As Range, r3 As Range
  
  Set ws1 = ActiveSheet
  Set ws2 = ws1.Parent.Worksheets.Add
 
  '最大、Xの範囲など
  With ws1
    Rmax& = .Range("A1").End(xlDown).Row - 1 '列の最終行の値
    Imax& = .Range("B1").End(xlToRight).Column - 1 '行の最終行の値
    Set r1 = .Range(.Cells(1, 2), .Cells(1, Imax&)) 'X軸の配列
  End With

  For II& = 1 To Rmax& '列
   
    With ws1
     Set r2 = .Range(.Cells(1 + II&, 1), .Cells(1 + II&, Imax&))
    End With

    Gx = 4
    Gy = 11
    'グラフを描く位置(10個で折り返し)
    CC% = ((II& - 1) \ 10) * Gx + 1
    RR& = ((II& - 1) Mod 10) * Gy + 1
    If CC% + Gx - 1 > 256 Then

     MsgBox "これ以上つくれません", vbCritical, II&
     Exit For
    Else
     With ws2
       Set r3 = .Range(.Cells(RR&, CC%), _
               .Cells(RR& + Gy - 1, CC% + Gx - 1))
     End With
     'グラフ追加
     With r3
       Set co = ws2.ChartObjects.Add(.Left, .Top, .Width, .Height)
     End With
     
     With co.Chart
      With .ChartArea
        .Border.LineStyle = xlLineStyleNone
        .Interior.ColorIndex = 2 
        .AutoScaleFont = False
        .Font.Size = 8
      End With
      
       .ChartType = xlLine
       .SetSourceData Source:=r2, PlotBy:=xlLine
ここ→    .SeriesCollection(1).XValues = r1
       .HasTitle = True
       .HasLegend = False
       .Axes(xlCategory).HasTitle = False
       .Axes(xlValue).HasTitle = False
       .Axes(xlValue).MajorGridlines.Border.ColorIndex = 15
       .Axes(xlValue).MajorGridlines.Border.Weight = xlHairline
       .Axes(xlValue).MajorGridlines.Border.LineStyle = xlContinuous
       .Axes(xlCategory).TickLabels.Orientation = xlDownward
       .PlotArea.Interior.ColorIndex = 2
       .PlotArea.Border.LineStyle = xlNone 

      .ChartTitle.Text = ti
     End With
    End If
 
Next
  Set co = Nothing: Set ws1 = Nothing: Set ws2 = Nothing
  Set r1 = Nothing: Set r2 = Nothing: Set r3 = Nothing

End Sub
-------------------------------------------------------------------

2 hits

【4590】連続グラフ作成中のエラーについて pino 03/3/27(木) 19:53 質問
【4604】Re:連続グラフ作成中のエラーについて Jaka 03/3/28(金) 11:30 発言
【4620】Re:連続グラフ作成中のエラーについて pino 03/3/28(金) 18:13 質問
【4635】Re:連続グラフ作成中のエラーについて よろずや 03/3/31(月) 13:06 回答
【4637】Re:連続グラフ作成中のエラーについて Kein 03/3/31(月) 13:39 回答
【4642】Re:連続グラフ作成中のエラーについて pino 03/3/31(月) 17:53 お礼
【4648】解決と言う事ですが、参考までに。 Jaka 03/4/1(火) 9:23 発言
【4652】Re:解決と言う事ですが、参考までに。 pino 03/4/1(火) 12:23 質問
【4658】Re:解決と言う事ですが、参考までに。 Jaka 03/4/1(火) 13:40 回答
【4675】ごめんなさい Jaka 03/4/2(水) 9:10 発言

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