セル内の文字の表示位置を中央揃えなど横位置をVBAで設定

エクセルVBAセルの操作 セルの操作

セルの中の文字の位置は基本が決まっていて、文字ならば左詰めに、数字ならば右詰めに表示されます。

セルの書式設定で配置を選んで横位置や縦位置を選んでセルの中央に表示させたいと思う事よくありますよね。

文字の位置も簡単にVBAで設定できるのでマスターしておきましょう。

スポンサーリンク

VBAでセルの表示位置を設定する

横位置の設定(HorizontalAlignmentプロパティ)

文字の配置で横位置の初期設定は「標準」になっていて、セル内が文字ならば左詰めに表示されますので、HorizontalAlignmentプロパティを使って、文字の横位置を設定しましょう。

横位置の種類はセルの書式設定で配置にて表示される8種類がそのままVBAで設定できます。

横位置(水平)
標準xlGeneral
左詰めxlLeft
中央揃えxlCenter
右詰めxlRight
繰り返しxlFill
両端揃えxlJustify
選択範囲内で中央xlCenterAcrossSelection
均等割り付けxlDistributed

特定のセルの文字配置の横位置を指定

例えば、ユーザーフォームに配置したコマンドボタンを押すと、セルA1の文字配置を中央揃えにするならば、このようなVBAコードになります。

中央揃えVBA

Private Sub CommandButton1_Click()
Range(“A1”).HorizontalAlignment = xlCenter
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. セルA1の文字配置の横位置を中央揃えにする
  3. マクロ記録終了

セル範囲の文字配置の横位置を指定

実用的にはセル1か所を指定して横位置を設定することは少なく、実際には表などの特定の範囲を指定することが多いので、まとめて横位置を設定します。

範囲指定中央揃え

Private Sub CommandButton1_Click()
Range(“A1:G10”).HorizontalAlignment = xlCenter
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. セルA1~G10の範囲の文字配置の横位置を中央揃えにする
  3. マクロ記録終了

縦位置の設定(VerticalAlignmentプロパティ)

文字の配置で縦位置の初期設定は「中央揃え」になっていて、セルの真ん中に文字が表示されるようになっていますので、VerticalAlignmentプロパティを使って下詰めにしてみましょう。

縦位置の種類はセルの書式設定で配置にて表示される5種類がそのままVBAで設定できます。

縦位置(垂直)
上詰めxlTop
中央揃えxlCenter
下詰めxlBottom
両端揃えxlJustify
均等割り付けxlDistributed

特定のセルの文字配置の縦位置を指定

例えば、ユーザーフォームに配置したコマンドボタンを押すと、セルA1の下詰めを中央揃えにするならば、このようなVBAコードになります。

下詰めVBA

Private Sub CommandButton1_Click()
Range(“A1”).VerticalAlignment = xlBottom
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. セルA1の文字配置の縦位置を下詰めにする
  3. マクロ記録終了

セル範囲の文字配置の縦位置を指定

実用的にはセル1か所を指定して縦位置を設定することは少なく、実際には表などの特定の範囲を指定することが多いので、まとめて縦位置を設定します。

範囲指定下詰め

Private Sub CommandButton1_Click()
Range(“A1:G10”).VerticalAlignment = xlBottom
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. セルA1~G10の範囲の文字配置の縦位置を下詰めにする
  3. マクロ記録終了

これでセル内の文字の配置場所をVBAで指定することができるようになりますので、文字の大きさや色などと一緒に設定して使用できますよ。