機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA

MsgBoxで文字位置を揃える



下図のようなデータがあったとします。これをMsgBoxで表示してみましょう。



Sub Sample1()
    Dim msg As String
    msg = msg & Cells(1, 1) & Cells(1, 2) & vbCrLf
    msg = msg & Cells(2, 1) & Cells(2, 2) & vbCrLf
    msg = msg & Cells(3, 1) & Cells(3, 2) & vbCrLf
    msg = msg & Cells(4, 1) & Cells(4, 2)
    MsgBox msg
End Sub



すべての文字列がくっついてしまい見にくいですね。では次のようにスペースを入れたらどうでしょう。

Sub Sample2()
    Dim msg As String
    msg = msg & Cells(1, 1) & " " & Cells(1, 2) & vbCrLf
    msg = msg & Cells(2, 1) & " " & Cells(2, 2) & vbCrLf
    msg = msg & Cells(3, 1) & " " & Cells(3, 2) & vbCrLf
    msg = msg & Cells(4, 1) & " " & Cells(4, 2)
    MsgBox msg
End Sub



多少はましですが、見にくいのに変わりはありません。こんなときは、ワープロソフトのようにタブで桁の位置を揃えるといいでしょう。タブを表す文字コードはChr(9)です。

Sub Sample3()
    Dim msg As String
    msg = msg & Cells(1, 1) & Chr(9) & Cells(1, 2) & vbCrLf
    msg = msg & Cells(2, 1) & Chr(9) & Cells(2, 2) & vbCrLf
    msg = msg & Cells(3, 1) & Chr(9) & Cells(3, 2) & vbCrLf
    msg = msg & Cells(4, 1) & Chr(9) & Cells(4, 2)
    MsgBox msg
End Sub



Chr(9)でタブコードが挿入できるというテクニックは、これ以外にも思わぬところで役立ちます。覚えておいて損はないですよ。






このエントリーをはてなブックマークに追加