プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。 Excel2003を使用しております。
1400個のグラフを自動作成しております。

--------------------------------
Function GlaphSetting() 'グラフ色などの設定
Dim C As ChartObject
On Error Resume Next

For Each C In ActiveSheet.ChartObjects
' C.RoundedCorners = True
C.Chart.AutoScaling = False
C.Chart.PlotArea.Interior.ColorIndex = xlNone
C.Chart.PlotArea.Border.ColorIndex = xlNone 'プロットエリアの色を消す
C.Chart.Axes(xlValue).MaximumScale = 5 'メモリ最大値
C.Chart.Axes(xlValue).MinimumScale = 0 'メモリ最小値
C.Chart.Axes(xlValue).MajorUnit = 1 'メモリ間隔
If ComboBox4.Text <> "" Then '氏名が入ってると、メモリ-1にしたい!
C.Chart.Axes(xlValue).MinimumScale = -1 'メモリ最小値
C.Chart.PlotArea.Top = 50
C.Chart.PlotArea.Width = 100
C.Chart.PlotArea.Height = 100
C.Chart.PlotArea.Left = 50
End If

If ComboBox4.Text = "" Then '氏名が空のとき
C.Chart.Axes(xlValue).HasMajorGridlines = False
End If

C.Chart.ChartArea.Font.Size = 8 '全部のフォントサイズ
Next
End Function
----------------------------
上記方法でフォントサイズの設定等を行っているのですが、
全グラフの文字サイズが8になっていなく、
ActiveSheet.ChartObjectsの個数は制限があるのか?なんて思っております。

間にプログレスバーの表示を行っておりますが、
しっかり全部動いているみたいであり、
1400個中、33個目くらいまでしか
フォントサイズが変わっておりません。

ステップインで確認してみましたが、
ステップインだと33個以上も大丈夫な気がします。

何か、理由をご存知の方がいらっしゃいましたら
回答をお願い致します。

A 回答 (1件)

何故Functionなのですか?


Subじゃいけないのですか?
設定できないのはフォントサイズだけですか?

取りあえず
On Error Resume Next
を外して動かせばどうなりますか?
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。

Functionの理由は特にありませんでした。
(自分でも何故そうしたのか覚えておりません)

フォーム上にプログレスバーを設置しており、
処理が進行しているかチェックしているため、
問題なくできているはずです。

文字サイズのみ変更されず、他の変更はできております。
(プロットエリアの色を消すとか)

グラフを作っている段階の部分に
フォントサイズの設定等を移動したら
上手く動作しました。
なぜ、途中から文字サイズのみ変更されなかったのか
良く分かりませんが、
グラフを作成している段階でフォントサイズを変更すれば
良いとわかりました。

ありがとうございました^^

お礼日時:2014/07/07 09:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!