首页 > 解决方案 > Excel VBA 根据另一个文本框输入从工作表填充用户窗体上的文本框

问题描述

所以我有一个用户表单,

在这个用户窗体上,我有一个 ComboBox (comboDepartment)、一个 TextBox (txtCode) 和另一个 TextBox (textDescription)。每个 ComboBox 选择都有一个工作表。(例如 Robo1、Robo2 等...)。工作表有 2 列(A 列 = 是错误代码,B 列 = 是错误描述)

现在我的问题是,根据(comboDepartment)组合框选择让它选择正确的工作表(也许将其设置为变量?)。

下一个用户将在(txtCode)文本框(只是数字,例如 1、2、3 等)中输入一个错误代码,在输入代码后,我需要它来填写工作表中 B 列中的(textDescription)文本框,具体取决于在用户输入的错误代码上。

想知道这是否可能?

先感谢您!

标签: excelvba

解决方案


通过获取它们的名称来收集所有工作表并将它们添加到您的组合框中。在你的Private sub Userform_Initialize方法上:

For each deptSheet in Thisworkbook.Worksheets
    comboDepartment.AddItem deptSheet.Name
Next

为您的工作表 ( ) 创建一个私有变量dim deptSheet as Worksheet并在组合框中设置选定的值。在你的Private sub comboDepartment_Change方法上:

set deptSheet = Thisworkbook.Sheets(comboDepartment.Value)

您现在可以通过以下方式引用所选下拉列表中的工作表:deptSheet.Range("...


推荐阅读