【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
このようにして、データが整然と表示され、見やすくなります。