从组合框中选择名称,在E列中找到所有匹配的名称,然后将H中的所有对应数字放入另一个组合框中



为了找到这个问题的答案,我已经搜索了将近两天,这让我发疯了。我是VBA的新手,所以我没有任何代码可以分享,只是在尝试我在其他网站和youtube上找到的东西。我有一张我一直在处理的技术人员登录表,这些是我需要完成的步骤:

  1. 从";Metrology Tech;"计量技术登录"表上的组合框
  2. VBA搜索"计量跟踪器"中的H列以查找所有匹配的名称
  3. 来自"计量跟踪器"表中E列的批号被放入";批号";如果"计量跟踪器"表中M列中的值等于";挂起">

我在Userform-Excel VBA上尝试过这个创建依赖组合框,但它不起作用——它只是返回了我需要的列的所有值,所有其他文章和视频都是一样的。

我应该注意的一件事是,计量跟踪器中的大多数值都是从另一个文件中引用的,因此批号等于另一文件中的单元格值。

编辑:我试过了,尽管我知道它不会起作用

Private Sub cboTech_change()
Select Case cboTech.Value
Case Is = "employee 1"
cboLotNum.RowSource = "LotNumber"
Case Is = "employee 2"
cboLotNum.RowSource = "LotNumber"
Case Is = "employee 3"
cboLotNum.RowSource = "LotNumber"
End Select

End Sub

也尝试过这个,但一直得到一个";需要运行时错误"424"对象";

Sub FndLot()
Dim idx As Long
Dim lngRow As Long

idx = TechBox.ListIndex

If idx <> -1 Then
lngRow = TechBox.ListIndex
Worksheets("Metrology Tracker").Range("E" & lngRow).Value = LotNum.Value
End If
End Sub

不太确定你想要什么,但这应该会让你开始。

Private Sub cboTech_Change()
Dim sName As String
sName = cboTech.Text
cboLotNum.Clear
Dim ws As Worksheet, lastrow As Long, i As Long
Set ws = Sheets("metrology tracker")
With ws
lastrow = .Cells(.Rows.Count, "H").End(xlUp).Row
For i = 1 To lastrow
If .Cells(i, "H") = sName And .Cells(i, "M") = "pend" Then
cboLotNum.AddItem .Cells(i, "E")
End If
Next
End With
End Sub

相关内容

  • 没有找到相关文章

最新更新