将输入整数写入单元格

时间:2008-11-02 19:16:22

标签: excel vba

我正在编写一个快速的应用程序 - 第一个项目,但是我试图找到用于将输入字符串的结果写入Excel中的命名单元格的VBA代码。

例如,输入框询问问题“您要将哪个作业编号添加到列表中?”...然后,用户将输入参考编号,例如“FX1234356”。然后宏需要将该信息写入一个单元格,然后我可以用它来完成宏(基本上是在一些数据中搜索)。

4 个答案:

答案 0 :(得分:10)

您可以使用VBA中的Range对象来设置命名单元格的值,就像任何其他单元格一样。

Range("C1").Value = Inputbox("Which job number would you like to add to the list?)

其中“C1”是您要更新的单元格的名称。

我的Excel VBA有点老旧,所以在较新版本的Excel中可能有更好的方法。

答案 1 :(得分:4)

我建议始终使用命名范围(正如您所建议的那样),因为如果添加或删除任何列或行,名称引用将更新,而如果您对单元格引用进行硬编码(例如“H1”为在VBA中的一个响应中建议,然后它将不会更新并指向错误的单元格。

所以

Range("RefNo") = InputBox("....") 

更安全
Range("H1") = InputBox("....") 

您也可以设置几个单元格的值。

Range("Results").Resize(10,3) = arrResults()

其中arrResults是一个至少10行的数组& 3列(可以是任何类型)。如果你使用它,请把这个

Option Base 1

在VBA模块的顶部,否则VBA将假设数组从0开始并在工作表中放置一个空白的第一行和第一列。这一行使得所有数组从默认值开始为1(在大多数语言中可能都是异常的,但在电子表格中效果很好)。

答案 2 :(得分:1)

当要求用户使用InputBox method将响应放入单元格时,通常会发生三件事情¹。

  1. 用户输入内容并点击确定。这是您期望发生的事情,您将收到可以直接返回到单元格或声明的变量的输入。
  2. 用户点击取消,按 Esc 或点击 × (关闭)。返回值是布尔值 False 。应该考虑到这一点。
  3. 用户键入任何内容,但无论如何都点击确定。返回值是一个零长度字符串。
  4. 如果要将返回值放入单元格中,您自己的逻辑流将决定您要对后两种情况做什么。您可能想要清除单元格,或者您可能希望单独保留单元格内容。以下是如何使用变量类型变量和Select Case statement来处理各种结果。

    {{1}}

    ¹当使用特定类型的 InputBox method 时,有第四种情况。 InputBox可以返回公式,单元格范围错误或数组。这些是特殊情况,需要使用非常具体的语法选项。有关更多信息,请参阅提供的链接。

答案 3 :(得分:0)

我用包含TextBox的表单完成了这种事情。

因此,如果您想将其放入单元格H1中,请使用:

ActiveSheet.Range("H1").Value = txtBoxName.Text