1026 Words

概要

VBAでExcelのオブジェクト(オートシェイプ、テキストボックス)のフォント・フォントサイズを一括で整えるマクロを作成した。

処理としてはアクティブシートのオブジェクトだけを全選択し、フォント、フォントサイズ、オブジェクトの書式設定を変更するものになっています。
具体的な修正内容は以下の通りです。

  • フォントを「MS ゴシック」に設定
  • フォントサイズを「6pt」に設定
  • 「図形内でテキストを折り返すを有効化」を設定
  • 体裁修正したオブジェクトをコピー

本マクロ利用の注意点として処理対象のシートにマクロ登録されたオブジェクトが存在する場合、以下のエラーメッセージが表示され、処理に失敗します。
 エラーメッセージ:指定された値は境界を超えています。

 

Excelブック全シートの体裁修正マクロ利用設定

  1. Excelを起動し、[Alt] + [F11]を押下し、“Microsoft Visual Basic for Applications"を開きます。

     

  2. [プロジェクト - VBA]ウィンドウのThisWorkbookを選択した状態で右クリックし、[挿入] - [標準モジュール]を選択します。

    Excel VBA

     

  3. 右ペインに画像の通りVBAを貼り付けます。

    Excel VBA

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    Public Sub アクティブシートオブジェクトフォント体裁修正()
    
    ActiveSheet.Shapes.SelectAll
        With Selection.ShapeRange.TextFrame2.TextRange.Font
            '#スクリプト用のフォント(複数言語のテキスト混在)設定
            .NameComplexScript = "MS ゴシック"
            '#日本語フォント設定
            .NameFarEast = "MS ゴシック"
            '#英語フォント設定
            .Name = "MS ゴシック"
            '#フォントサイズ設定
            .Size = 6
        End With
        '#図形内でテキストを折り返すを有効化
        Selection.ShapeRange.TextFrame2.WordWrap = msoTrue
        '#オブジェクトをコピー
        Selection.Copy
    End Sub
    

     

  4. [Ctrl] + [S]にて名前を付けて保存を起動し、任意のファイル名及びファイルの種類に"Excel マクロ有効ブック(*.xlsm)“を指定し、[保存]を選択します。

     

Excelブック全シートの体裁修正マクロ利用方法

  1. 保存したマクロ有効ブックを開いた状態で修正対象とするファイルを開きます。

     

  2. 修正対象ファイル内でオブジェクトの体裁を整えたいシートをアクティブな状態で[Alt] + [F8]にて"アクティブシートオブジェクトフォント体裁修正"を選択し、[実行(R)]を選択します。

    Excel VBA

     

  3. 修正対象ファイルのアクティブなシート内のオブジェクトの体裁が想定通り修正されたことを確認します。

     

環境

  • Microsoft Excel 2019