IT仕事

ExcelVBAでグラフのサイズやフォント種類を変更

投稿日:2015年6月25日 更新日:

秀吉というアンケートソフトで作ったExcelのグラフを、マクロを使って色々変えようと。
たくさんあるのでExcel2013のVBAで、グラフサイズとともにフォントサイズとフォント種類を変更しようとしたのだが、なかなかうまくいかない。
マクロの自動記録で作ったコードでは、再実行したときにエラーメッセージが出て、使い物にならないかったり。なぜ?
2時間ほどかかって、やっとできたのが、以下。

Public Sub 秀吉で作ったグラフのサイズを統一()
    Dim TempChartObject As Variant
    Dim cht As Chart
    Dim ws As Worksheet
     
    For Each ws In ActiveWorkbook.Worksheets
        For Each TempChartObject In ws.ChartObjects
            With TempChartObject
                .Height = 200
                .Width = 500
                Set cht = .Chart 'ここがポイント
            End With
            With cht.ChartArea.Format.TextFrame2.TextRange.Font
                .Size = 10
                .NameFarEast = "+mj-ea" 'MS Pゴシック 見出し
                .Name = "+mj-ea"
            End With
        Next
    Next
End Sub

見ればわかるけど、上記に加え、アクティブブックの全シートに対して同様の処理をする処理をしています。

ああ今日も疲れた(未だ昼だけど)。

-IT仕事

執筆者:

関連記事

no image

hostingrails.com

知り合いがHPを作ってくれというので、どこかのサーバを借りることにした。 いろいろ検討した結果、hostingrails.comというところにした。 このレンサバはその名の通り、Railsで作ったWe …

no image

VBAからIE操作

大変に感銘を受けたサイト。 三流君VBA:VBAからIE操作 TABLEの中にTABLE .getElementsByTagNameほかhttp://www.ken3.org/vba/backno/v …

CliborのマクロをPythonの正規表現を使ってフォームに値をセットする

とにかくコピペ作業が多い職場なので、何かクリップボード拡張ソフトを入れたらいいねということで、Cliborを試してみたところ、なかなかよかったので、部署に啓蒙した。 「Clibor」定型文の挿入もでき …

no image

Excelグラフの軸ラベルを折り返したい

Excel2007で、グラフの長いラベル文字の折り返しを2行にしたい。 しかし設定ダイアログには項目がない。 がんばって試行錯誤して、何とかうまくいったものの、とても尋常ではないやり方。 しかしこれし …

no image

AccessのDoCmd.OpenForm acPreviewでデータが表示されない

なぜか、フォームに新規データを入力し、印刷プレビュー(DoCmd.OpenForm “見積請求書F”, acPreview)した際に、それまで入力したデータが消えたようになる。 …