首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将text.box设置为用户形式,等于单元格或数据库中的某个值。

将text.box设置为用户形式,等于单元格或数据库中的某个值。
EN

Stack Overflow用户
提问于 2018-06-28 13:37:10
回答 1查看 1.8K关注 0票数 1

我正在尝试创建一个用户表单,它将自动从数据库中创建x个打印出来的用户论坛。我不知道如何从数据库中获取某个值,以便输入到我的用户表单上的特定text.box中。现在,代码将遍历我的数据库,找到所有的桥接器,它们都是“块”,然后找到相应的NBI编号,但我无法确定使用它的确切语法。我试过使用各种不同的方法,但似乎都有某种问题。最终目标是用文本框NBI NO.(textbox(1))Local ID No.(textbox(5))structure No(textbox(4))type(textbox(3))填写用户表单。

代码语言:javascript
复制
Sub word()
Dim i As Integer
Dim feat As String

feat = ("Slab")

Range("O4:O13").Clear

For i = 2 To 23089
If Cells(i, 11) = feat Then
    TextBox(1).Text = Cells(i, 11)

Else
End If

Next i

End Sub
EN

回答 1

Stack Overflow用户

发布于 2018-06-29 10:02:45

根据您在问题和评论中所指出的,这应该可以解决您的问题:

注意:下面的代码使用名为“UserForm1”的UserForm和名为“TextBox 1”的UserForm上的TextBox引用“Sheet1”上的数据。

代码语言:javascript
复制
Sub text()

Dim i As Integer
Dim feat As String

feat = ("Slab")

Range("O4:O13").Clear

For i = 2 To 23089
If Cells(i, 11) = feat Then
    UserForm1.TextBox1.Text = Sheets(1).Cells(i, 11).Text

Else
End If

Next i

End Sub

我所做的更改是在If...Else语句中,我使用UserForm1引用了UserForm。我没有引用TextBox的索引,而是以名称TextBox1来引用它,最后,我已经指定了工作表以及我想要的单元格中的数据( Sheets(1).Cells(i, 11).Text )。

通过这样做,代码将在2到23089之间遍历工作表的每一行,检查列'K‘中的“板坯”。如果找到它,它将在TextBox1中填充"Slab“。

注:

  1. 如果在UserForm模块中运行此代码,则应将UserForm1.引用替换为Me.
  2. 如果希望TextBox填充来自行中另一个单元格的文本(正如您在问题中所述),请将行UserForm1.TextBox1.Text = Sheets(1).Cells(i, 11).Text中的列索引从11更改为任何正确的列索引。
  3. 确保更改上述代码以使用正确的对象名称(UserForm1应该是您的用户名,TextBox1应该使用相关的TextBox名称等等)。另外,不要忘记更改Sheets(1).引用,以引用工作簿的正确工作表。

我将让您调整代码以正确引用您的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51084366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档