インデントの設定
セルの水平位置の設定で「左詰め」「右詰め」「均等割り付け」を設定した場合に、インデントを設定することが出来ます。左詰めの場合は左側に、右詰めの場合は右側に、均等割り付けの場合は両端にインデントが設定されます。ここでは Excel VBA でインデントを設定する方法について解説します。
(Last modified: )
目次
インデントの設定
インデントを設定するにはRangeオブジェクトの「IndentLevel」プロパティで設定します。
Dim range1 As Range Set range1 = Range("A1") range1.HorizontalAlignment = xlLeft range1.IndentLevel = 1
設定する値はインデントする文字数です。1文字と指定した場合には全角1文字に相当します。
注意する点としては、「IndentLevel」プロパティを設定すると、「HorizontalAlignment」プロパティが「xlLeft」に自動的に変更されてしまいます。その為、右詰めや均等割り付けでインデントを設定する場合には、まず「IndentLevel」プロパティを設定してからその後で「HorizontalAlignment」プロパティを設定して下さい。
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Range("A1:B3").Value = "日本語" Range("A1:A3").IndentLevel = 1 Range("B1:B3").IndentLevel = 3 Range("A1:B1").HorizontalAlignment = xlLeft Range("A2:B2").HorizontalAlignment = xlRight Range("A3:B3").HorizontalAlignment = xlDistributed Range("A5:B7").Value = "日本語" Range("A5:B5").HorizontalAlignment = xlLeft Range("A6:B6").HorizontalAlignment = xlRight Range("A7:B7").HorizontalAlignment = xlDistributed Range("A5:A7").IndentLevel = 1 Range("B5:B7").IndentLevel = 3 End Sub
上記マクロを実行すると次のようになります。
上3つのセルと、下3つのセルは、設定している内容は同じなのですが、水平位置とインデントの設定する順番が異なります。インデントを設定すると水平位置の設定が全て「左詰め」になってしまうので、プロパティを設定する順番は注意して下さい。
-- --
Excel VBA でインデントを設定する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。