Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2013)
グラフ データラベル変更
投稿日時: 20/07/16 22:53:00
投稿者: TOM57

円グラフのデータラベルを太字にしたく下記のようにしたのですが、
「指定したコレクションに対するインデックスが境界線を越えています」エラーが
出てしまいます。
 
  ActiveSheet.ChartObjects("グラフ 1").Activate
     
    For i = 1 To ActiveChart.FullSeriesCollection(1).Points.Count
        ActiveChart.FullSeriesCollection(1).Points(i).DataLabel.Format.TextFrame2.TextRange.Characters(1, 1).Font.Bold = msoTrue
    Next i
 
どのように変更したらいいか教えてください。
よろしくお願い致します。

回答
投稿日時: 20/07/17 08:18:15
投稿者: takesi

マクロの記録より
 
 

 ActiveSheet.ChartObjects("グラフ 1").Activate
   
    With ActiveChart.FullSeriesCollection(1).DataLabels.Format.TextFrame2.TextRange.Font
      .BaselineOffset = 0
      .Bold = msoTrue
      .NameFarEast = "UD デジタル 教科書体 NK-B"
      .Fill.Visible = msoTrue
      .Fill.ForeColor.RGB = RGB(0, 176, 80)
      .Fill.Transparency = 0
      .Fill.Solid
      .Size = 20
      .Italic = msoFalse
      .UnderlineStyle = msoUnderlineDoubleLine
      .UnderlineColor.RGB = RGB(255, 0, 0)
    End With

回答
投稿日時: 20/07/17 11:17:36
投稿者: Suzu

「指定したコレクションに対するインデックスが境界線を越えています」エラーが出てしまいます。

 
Shapeコレクション の 数が多くなったときに出やすいみたいですね。
今回の場合はDatalabelになるのですかね。
つまり、Pointsの数が多くなり Points(i) の部分という事でしょうか。
 
takesi さんが提示くださっている様に、
表示されているポイント全てのデータラベルの 全文字 に対し 太字 では問題があるのでしょうか。

投稿日時: 20/07/17 22:11:52
投稿者: TOM57

takesiさん、Suzuさん
 
ありがとうございます。
全文字に対し太字だとうまくいきました。
分類名のみ太字にしたいと思っていたのですが、分類名を太文字にした後、
普通文字に変更、その後マクロを実行した場合はエラーがでないようです。

投稿日時: 20/07/30 22:42:32
投稿者: TOM57

ありがとうございました