Excel VBA | VBAで改行する方法

Excel VBA VBA
スポンサーリンク

応用練習問題

では「ユーザー入力を受け取って改行付きで表示する」応用練習問題です。初心者でも段階的に理解できるように、問題 → 回答例 → 解説の流れでまとめます。

問題1:名前と年齢を入力して改行表示

ユーザーに「名前」と「年齢」を入力してもらい、セル A1 に次のように改行して表示してください。

名前: ○○
年齢: ○○

回答例

Sub Q1_InputNameAge()
    Dim uname As String
    Dim age As String
    
    uname = InputBox("名前を入力してください")
    age = InputBox("年齢を入力してください")
    
    Range("A1").Value = "名前: " & uname & vbLf & "年齢: " & age
End Sub
VB

解説

  • InputBox でユーザーから入力を受け取る。
  • セル内改行なので vbLf を使用。
  • 実行すると、A1に2行で表示される。

問題2:入力内容をメッセージボックスで表示

ユーザーに「商品名」と「数量」を入力してもらい、メッセージボックスに次のように表示してください。

商品名: ○○
数量: ○○

回答例

Sub Q2_InputProduct()
    Dim product As String
    Dim qty As String
    Dim msg As String
    
    product = InputBox("商品名を入力してください")
    qty = InputBox("数量を入力してください")
    
    msg = "商品名: " & product & vbNewLine & "数量: " & qty
    MsgBox msg, vbInformation, "注文内容"
End Sub
VB

解説

  • MsgBoxでは vbNewLine を使うのが安全。
  • vbInformation を指定すると情報アイコン付きで表示される。

問題3:複数の入力をまとめてセルに表示

ユーザーに「住所(都道府県、市区町村、番地)」を順番に入力してもらい、セル B2 に3行で表示してください。

回答例

Sub Q3_InputAddress()
    Dim pref As String, city As String, street As String
    
    pref = InputBox("都道府県を入力してください")
    city = InputBox("市区町村を入力してください")
    street = InputBox("番地を入力してください")
    
    Range("B2").Value = pref & vbLf & city & vbLf & street
End Sub
VB

解説

  • セル内改行なので vbLf を使用。
  • 入力を順番に受け取り、1つのセルにまとめて表示。

問題4(発展):入力チェック付き

ユーザーに「名前」と「メールアドレス」を入力してもらい、どちらかが空欄ならエラーメッセージを改行付きで表示してください。

回答例

Sub Q4_InputCheck()
    Dim uname As String, mail As String
    Dim errmsg As String
    
    uname = InputBox("名前を入力してください")
    mail = InputBox("メールアドレスを入力してください")
    
    If uname = "" Or mail = "" Then
        errmsg = "未入力項目があります" & vbNewLine
        If uname = "" Then errmsg = errmsg & "- 名前" & vbNewLine
        If mail = "" Then errmsg = errmsg & "- メールアドレス"
        MsgBox errmsg, vbExclamation, "エラー"
    Else
        MsgBox "入力完了しました", vbInformation
    End If
End Sub
VB

解説

  • 入力が空かどうかを If でチェック。
  • エラーメッセージは vbNewLine で改行しながら箇条書きに。
  • すべて入力されていれば「入力完了」と表示。

まとめ

  • セルに表示 → vbLf
  • MsgBoxに表示 → vbNewLine
  • ユーザー入力と組み合わせると実用的なプログラムになる
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました