0

マクロからユーザー入力を取得し、その文字列を列の長さだけコピーしようとしています(理想的には、最初の列に内容がある限り)

例:あなたはどの国にいますか?

ユーザー入力:米国

Column1    Column2

Steve      United States

Bill       United States

Blank      United States

Alice      United States
4

2 に答える 2

0

どうぞ。このサブは、列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
于 2012-11-21T18:04:22.700 に答える
0

多くのエラーチェックを無視して、回答が入力されていることを確認します。これを行う最も簡単な方法は次のとおりです。

  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
于 2012-11-20T22:41:40.923 に答える