- 締切済み
VBA 全グラフに適応されない理由
お世話になっております。 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個以上も大丈夫な気がします。 何か、理由をご存知の方がいらっしゃいましたら 回答をお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- xls88
- ベストアンサー率56% (669/1189)
何故Functionなのですか? Subじゃいけないのですか? 設定できないのはフォントサイズだけですか? 取りあえず On Error Resume Next を外して動かせばどうなりますか?
お礼
回答頂きありがとうございます。 Functionの理由は特にありませんでした。 (自分でも何故そうしたのか覚えておりません) フォーム上にプログレスバーを設置しており、 処理が進行しているかチェックしているため、 問題なくできているはずです。 文字サイズのみ変更されず、他の変更はできております。 (プロットエリアの色を消すとか) グラフを作っている段階の部分に フォントサイズの設定等を移動したら 上手く動作しました。 なぜ、途中から文字サイズのみ変更されなかったのか 良く分かりませんが、 グラフを作成している段階でフォントサイズを変更すれば 良いとわかりました。 ありがとうございました^^