マクロからユーザー入力を取得し、その文字列を列の長さだけコピーしようとしています(理想的には、最初の列に内容がある限り)
例:あなたはどの国にいますか?
ユーザー入力:米国
Column1 Column2
Steve United States
Bill United States
Blank United States
Alice United States
どうぞ。このサブは、列Aのセルが空白でない場合にのみ、列Bの対応するセルに入力します。
列Aの各項目を繰り返し処理し、セルが空白かどうかを確認してから、セルが空白でない場合は「回答」文字列を列Bに配置します。
Sub country()
Dim Answer As String, i As Range
Answer = InputBox("What country are you in?")
For Each i In ActiveSheet.Range("A2", ActiveSheet.Range("A300000").End(xlUp))
If i <> vbNullString Then
i.Offset(0, 1).Value = Answer
End If
Next i
End Sub
多くのエラーチェックを無視して、回答が入力されていることを確認します。これを行う最も簡単な方法は次のとおりです。
Sub Test()
Dim Answer As String
Answer = InputBox("What country are you in?")
Intersect(ActiveSheet.UsedRange, ActiveSheet.Range("A:A")).Offset(0, 1).Value = Answer
End Sub