在vba中使用vlookup但更新用户表单实时

时间:2017-02-08 00:01:18

标签: excel vba vlookup

我有一个带有几个texbox的用户表单,我希望当你把值放在第一个上时扫描数据表,如果它找到相同的值,它会填充其余的文本框,我想我可以设法做到这一点如果我分两步完成首先将textbox1的值作为变量,然后使用它扫描数据,生成第二个用户表单,其中数据已粘贴在其上。但有没有办法实现?目前我把数据放在textbox1中显示其他文本框中其他列的数据?

此外,我试图用一个vlookup公式(VLOOKUP(A27,BDD!A:B,2,FALSE))在一张纸上做或多或少相同的事情并且它工作但问题是我想要公式更改单元格的值只是在数据中找到了一个马赫并且我不想在我想要更改的单元格中使用公式,这样我就可以毫无问题地放置新数据。

让我说我已经在表格" bdd"第一列中的数字和第二列中的名称。我想在另一张表中放一个数字,如果这个数字已经存在于bdd我希望附近的名字,但我不希望公式接近数字,因为我希望能够输入新的数字和名称,如果必要的。

BDD:

101安东尼奥 102路易斯

101安东尼奥(目前我写完了101)

103彼得(没有任何事情发生,因为它还没有进入bdd,我必须输入peter才能完成该行或将103 peter放入bdd)

很抱歉,如果我没有尝试清楚:P提前致谢

1 个答案:

答案 0 :(得分:1)

如果数据在此范围内

If data is in this range

Private Sub TextBox1_Change()

'Skip if value is not there
On Error Resume Next

'take any random cell to store textbox1's value

Range("C4").Value = TextBox1.Text

'Vlookup to get the value
TextBox2.Text = Application.WorksheetFunction.VLookup(Range("C4").Value,Sheet1.Range("A:B"), 2, 0)

End Sub