VBA:从用户表单中获取值并插入列中

时间:2012-11-20 22:16:54

标签: excel-vba vba excel

我正在尝试从宏中获取用户输入并将该字符串复制到列的长度(理想情况下,只要我的第一列包含内容)

例如: 你在哪个国家?

用户输入:美国

Column1    Column2

Steve      United States

Bill       United States

Blank      United States

Alice      United States

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

你好。如果列A 中的单元格非空白,则此子网只会填写 B列中的相应单元格。

迭代A列中的每个项目,检查单元格是否为空,然后如果单元格不为空,则将“Answer”字符串放在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