我正在尝试创建一个用户表单,它将自动从数据库中创建x个打印出来的用户论坛。我不知道如何从数据库中获取某个值,以便输入到我的用户表单上的特定text.box中。现在,代码将遍历我的数据库,找到所有的桥接器,它们都是“块”,然后找到相应的NBI编号,但我无法确定使用它的确切语法。我试过使用各种不同的方法,但似乎都有某种问题。最终目标是用文本框NBI NO.(textbox(1))、Local ID No.(textbox(5))、structure No(textbox(4))和type(textbox(3))填写用户表单。
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发布于 2018-06-29 10:02:45
根据您在问题和评论中所指出的,这应该可以解决您的问题:
注意:下面的代码使用名为“UserForm1”的UserForm和名为“TextBox 1”的UserForm上的TextBox引用“Sheet1”上的数据。
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“。
注:
UserForm1.引用替换为Me.。UserForm1.TextBox1.Text = Sheets(1).Cells(i, 11).Text中的列索引从11更改为任何正确的列索引。UserForm1应该是您的用户名,TextBox1应该使用相关的TextBox名称等等)。另外,不要忘记更改Sheets(1).引用,以引用工作簿的正确工作表。我将让您调整代码以正确引用您的值。
https://stackoverflow.com/questions/51084366
复制相似问题