この記事では、ExcelのVBAマクロを利用して数値を文字列に一括変換する方法と、0埋めで桁数を揃える方法について解説していきます。
ポイントとしては`CStr`関数と`Format`関数を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。
そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロで数値を文字列に一括変換する方法【CStr関数】
それではまず、VBAマクロで数値を文字列に一括変換する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SuuchiToMojiRetuHenyaku()
Dim Retu As Range
Dim Gyousuu As Long
Gyousuu = Cells(Rows.Count, 1).End(xlUp).Row
For Each Retu In Range("A2:A" & Gyousuu)
Retu.Offset(0, 1).Value = CStr(Retu.Value)
Next Retu
End Sub
コードのAlt+F8を押し、マクロ選択画面でSuuchiToMojiRetuHenyaku関数を実行します。
ここでは、A列に記載されている数値を一括で文字列に変換してB列に出力しています。具体的には以下のステップで進行します。
1. 必要な変数を宣言します(`Retu`と`Gyousuu`)。
2. A列の最後の行を取得して`Gyousuu`に格納します。
3. A列の2行目から最後の行までループを行い、その値を文字列に変換して隣のセル(B列)に出力します。
—
VBAマクロで数値を文字列に変換し0埋めで桁数を揃える方法【Format関数】
続いては、VBAマクロで数値を文字列に変換し0埋めで桁数を揃える方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SuuchiToMojiRetuHenyaku_ZeroUmete()
Dim Retu As Range
Dim Gyousuu As Long
Dim Ketasu As Integer
Gyousuu = Cells(Rows.Count, 1).End(xlUp).Row
Ketasu = 5 ' ここで0埋めの桁数を指定します
For Each Retu In Range("A2:A" & Gyousuu)
Retu.Offset(0, 1).Value = Format(Retu.Value, String(Ketasu, "0"))
Next Retu
End Sub
コードのAlt+F8を押し、マクロ選択画面でSuuchiToMojiRetuHenyaku_ZeroUmete関数を実行します。
このコードでは、A列の数値を指定した桁数になるように0埋めしながら、文字列としてB列に出力しています。以下のステップで進めています。
1. 必要な変数を宣言します(`Retu`, `Gyousuu`, `Ketasu`)。
2. A列の最後の行を取得して`Gyousuu`に格納します。
3. 0埋めの桁数を`Ketasu`に設定します。
4. A列の2行目から最後の行までループを行い、その値を指定した桁数になるように0埋めして文字列に変換し、隣のセル(B列)に出力します。
まとめ
初心者の方でもスムーズに取り組めるよう、コード内に多くのコメントを付け加え、変数名も直感的に理解できるよう配慮しました。
特に、`CStr`関数と`Format`関数を用いることで、効率的にデータの変換を行うことができます。
また、変数名には日本語表記をローマ字にしたような変わった表現を利用しており、実務に取り入れる際には、これを適切な英語表記に変更することをお勧めします。