VBA 窗体文本框显示匹配工作表数据
要在 VBA 窗体中的文本框 'TextBox9' 中显示与工作表 '产品编号总表' 中 B 列中与窗体中的文本框 'ComboBox4' 的值相匹配的单元格 E 列的值,可以使用以下代码:
Private Sub ComboBox4_AfterUpdate()
Dim ws As Worksheet
Dim lookupValue As String
Dim lookupRange As Range
Dim resultCell As Range
Set ws = Sheets("产品编号总表")
lookupValue = ComboBox4.Value
Set lookupRange = ws.Range("B:B")
Set resultCell = lookupRange.Find(lookupValue)
If Not resultCell Is Nothing Then
TextBox9.Value = resultCell.Offset(0, 3).Value
Else
TextBox9.Value = ""
End If
End Sub
在上面的代码中,我们使用 ComboBox4_AfterUpdate 事件来捕获窗体中的文本框 'ComboBox4' 的值更改。当用户在该下拉框中选择新值后,将触发此事件。
在事件处理程序中,我们首先设置 ws 为工作表 '产品编号总表'。然后,我们将 'ComboBox4' 的值赋给 lookupValue 变量。
接下来,我们设置 lookupRange 为 'B:B' 列范围,即工作表 '产品编号总表' 的 B 列范围。然后,我们使用 lookupRange.Find 方法查找与 lookupValue 相匹配的单元格。
如果找到匹配的单元格,我们将使用 resultCell.Offset(0, 3).Value 获取该单元格右侧偏移 3 列(即 E 列)的值,并将其赋给文本框 'TextBox9' 的值。如果没有找到匹配的单元格,我们将 'TextBox9' 的值设为空字符串。
请确保你已经将这段代码放置在窗体的代码模块中,并将 'ComboBox4_AfterUpdate' 事件与文本框 'ComboBox4' 关联。
原文地址: https://www.cveoy.top/t/topic/3Dm 著作权归作者所有。请勿转载和采集!