如何在您输入的产品名称上填写用户表格如果Excel中有两个相同的产品

时间:2018-10-08 16:33:02

标签: vba excel-vba

这个问题是previous question that的延续,这要归功于这里的专家

  

我有一个表单,可以在条目中键入并插入到工作表中,然后   效果很好

     

现在我需要输入产品时,其余的框会   表中的值(如果存在)

     

也就是说,如果产品已经存在,则将填充相应的   值,在表格的其余框中

但是我看到这种情况可能会列出两个相同的产品,并且不是错误

如何根据“ ComboBox1”中的选择进行操作

使用适当的值填写表格的其余部分

也就是说,它将在下拉列表中识别所选内容的位置

如果是第一行选择,它将在第一行填充值 等等

当我更改值时,它会更改为同一行

有可能这样做吗? 还是想一个更好的主意?

希望这是可以理解的

example

到目前为止我使用的代码

Option Explicit
Private Sub ComboBox1_Change()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheets")
Dim Found As Range
Set Found = ws.Range("A1:C3").Find(What:=ComboBox1.Value, MatchCase:=False)
If Not Found Is Nothing Then
    Me.TextBox1 = Found.Offset(, 1)
    Me.TextBox2 = Found.Offset(, 2)
            Else
    Me.TextBox1 = ""
    Me.TextBox2 = ""
End If

End Sub
Private Sub update_Click()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheets")
Dim Found As Range
Set Found = ws.Range("A1:C3").Find(What:=ComboBox1.Value, MatchCase:=False)
If Not Found Is Nothing Then
        Found.Offset(, 1).Value = Me.TextBox1.Value
        Found.Offset(, 2).Value = Me.TextBox2.Value
End If
End Sub

0 个答案:

没有答案