【VBA言語】文字列の右寄せ・左寄せ (RSet, LSet)

【VBA言語】文字列の右寄せ・左寄せ (RSet, LSet)

このページでは、VBA言語における「文字列の右寄せ」と「左寄せ」について詳しく解説します。特に、関数「RSet」と「LSet」を中心に、初心者向けに説明を行います。

RSet関数による文字列の右寄せ

VBAの「RSet」関数は、文字列を右寄せにするために使用されます。この関数は、指定された幅に合わせて文字列を右側に寄せ、残りのスペースを空白で埋めます。

構文は以下の通りです:

RSet(文字列, 幅)

ここで、文字列は右寄せにしたい元の文字列、は文字列が収まる幅を指定します。指定した幅に収まるように、元の文字列が右側に寄せられ、余った部分には空白が追加されます。

例えば、次のコードを実行すると:

Sub ExampleRSet()
    Dim str As String
    str = "VBA"
    MsgBox RSet(str, 10) ' 結果: "      VBA"
End Sub

上記のコードでは、「VBA」という文字列を幅10の位置に右寄せしています。余ったスペースには空白が挿入され、右側に「VBA」が表示されます。

LSet関数による文字列の左寄せ

「LSet」関数は、文字列を左寄せにするために使用されます。この関数は、指定された幅に合わせて文字列を左側に寄せ、残りのスペースを空白で埋めます。

構文は以下の通りです:

LSet(文字列, 幅)

ここで、文字列は左寄せにしたい元の文字列、は文字列が収まる幅を指定します。指定した幅に収まるように、元の文字列が左側に寄せられ、余った部分には空白が追加されます。

例えば、次のコードを実行すると:

Sub ExampleLSet()
    Dim str As String
    str = "VBA"
    MsgBox LSet(str, 10) ' 結果: "VBA       "
End Sub

上記のコードでは、「VBA」という文字列を幅10の位置に左寄せしています。余ったスペースには空白が挿入され、左側に「VBA」が表示されます。

RSetとLSetを使った実践的な例

実際に、文字列の左寄せと右寄せを使う場合、表形式でデータを整形したいときなどに非常に役立ちます。

以下は、RSetとLSetを使用して、表形式で名前や年齢をきれいに整形する例です:

Sub FormatExample()
    Dim name As String
    Dim age As String
    
    name = "Taro"
    age = "25"
    
    ' 名前を左寄せ、年齢を右寄せ
    MsgBox LSet(name, 10) & RSet(age, 5) ' 結果: "Taro      25   "
End Sub

このコードでは、名前「Taro」を左寄せで幅10に、年齢「25」を右寄せで幅5に整形しています。これにより、名前と年齢が整然とした形式で表示されます。

文字列を指定した幅で揃える

RSetとLSetは、文字列を特定の幅で整形するために使用されます。文字列を幅で揃えることで、出力結果を見やすくすることができます。

たとえば、次のような表形式でデータを表示する場合に便利です:

Sub TableExample()
    Dim item1 As String
    Dim item2 As String
    Dim item3 As String
    
    item1 = "Apple"
    item2 = "Banana"
    item3 = "Orange"
    
    ' 各アイテムを左寄せ、価格を右寄せで整形
    MsgBox LSet(item1, 10) & RSet("100", 5) & vbCrLf & LSet(item2, 10) & RSet("150", 5) & vbCrLf & LSet(item3, 10) & RSet("120", 5)
End Sub

このコードでは、アイテム名を左寄せで幅10に、価格を右寄せで幅5に整形しています。出力結果は、以下のようになります:

Apple     100
Banana    150
Orange    120

このようにして、データが整然と表示され、見やすくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です