Excel VBAで図形(シェイプ)の文字・位置・色・サイズを設定

Excel VBAで図形の文字・位置・色・サイズの設定には、TextFrameオブジェクトを使用します。



Homeに戻る > Excel オートシェイプのTipsへ

文字や色などのフォントの設定は、TextFrameオブジェクトのCharactersメソッドで行います。

Charactersメソッドの主なプロパティは下記があります。

プロパティ 内容
Text 表示する文字列を設定
Font フォントを設定
Count 文字列数をカウント
Caption 文字列を表示・取得

位置やサイズなどのフォントの設定は、TextFrameオブジェクトで行います。

TextFrameオブジェクトのプロパティは下記があります。

プロパティ 内容
HorizontalAlignment 水平方向の表示位置を設定
VerticalAlignment 垂直方向の表示位置を設定
MarginBottom 下余白を指定
MarginLeft 左余白を指定
MarginTop 上余白を指定
MarginRight 右余白を指定

HorizontalAlignment(水平方向)に使用する定数

  • xlHAlignLeft:左揃え
  • xlHAlignRight:右揃え
  • xlHAlignCenter:中央揃え

VerticalAlignment(垂直方向)に使用する定数

  • xlVAlignBottom:下揃え
  • xlVAlignCenter:上下中央揃え
  • xlVAlignTop:上揃え

TextFrameオブジェクトを使った設定は、図形だけでなくテキストボックスにも使用できます。

図形に関連する「Excel VBAで図形(シェイプ)の位置・線色・塗りつぶしの色等を設定する」も掲載していますので、参考にしてください。



TextFrameオブジェクトを使用し、図形の文字・位置・色・サイズの設定を設定するVBA

Excel VBA シートコード

作成したコマンドボタン クリックイベントの説明

  1. Textプロパティで表示する文字列を設定
  2. Colorプロパティで表示色を赤色に設定
  3. ColorIndexプロパティでも表示色を設定できます。
  4. Font.BoldプロパティをTrueにし太字に設定する
  5. Font.Sizeプロパティでフォントサイズを16に設定する
  6. VerticalAlignmentプロパティで、垂直方向の表示位置をxlVAlignBottom(下揃え)に設定
  7. HorizontalAlignmentプロパティで、水平方向の表示位置をxlVAlignCenter(左右中央揃え)に設定
Private Sub CommandButton1_Click()
    '文字をセット
    ActiveSheet.Shapes("Rectangle 5").TextFrame.Characters.Text = "エクセル忍法"
    '文字色
    'ActiveSheet.Shapes("Rectangle 5").TextFrame.Characters.Font.Color = vbRed
    '文字色
    ActiveSheet.Shapes("Rectangle 5").TextFrame.Characters.Font.ColorIndex = 5
    '太字
    ActiveSheet.Shapes("Rectangle 5").TextFrame.Characters.Font.Bold = True
    'サイズ
    ActiveSheet.Shapes("Rectangle 5").TextFrame.Characters.Font.Size = 16

    
    '垂直方向の位置
    ActiveSheet.Shapes("Rectangle 5").TextFrame.VerticalAlignment = xlVAlignBottom
    '水平方向の位置
    ActiveSheet.Shapes("Rectangle 5").TextFrame.HorizontalAlignment = xlVAlignCenter
End Sub



Excel VBAの実行結果

開始前は何も表示されていない四角形の図形のみです。

開始前は四角形の図形のみ

実行結果

下揃え・左右中央揃えで文字列が表示されています。

文字列が表示できた


Homeに戻る > Excel オートシェイプのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved