我已经写了一个脚本,可以很好地进行精确匹配,但是我想重写它,以允许用户只键入其中一个条件的一部分。在userform
仍然应该认识到什么行它从另一片来了,填充它的相应信息的细胞。该行必须包含两者,txtsearch
并且txtname
要正确查找。
txtsearch
Instuctor,Mentor等的样本值
的样本值txtname
:Borkowski,Villarreal等。
这就是我现在所拥有的:
Private Sub CommandButton1_Click()
Dim ws As Worksheet, cel As Range
Set ws = Sheets("The Goods")
For Each cel In ws.Cells(2, 2).Resize(ws.Cells(Rows.Count, 2).End(xlUp).Row).Cells
If cel.Value = Me.txtname.Value And cel.Offset(, 2).Value = Me.txtsearch.Value Then
currentrow = cel.Row
Me.txt1.Value = cel.Offset(, 3).Value
Me.txt2.Value = cel.Offset(, 1).Value
Me.txt3.Value = cel.Offset(, 4).Value
Me.txt4.Value = cel.Offset(, 5).Value
Me.txt5.Value = cel.Offset(, 6).Value
Me.txt6.Value = cel.Offset(, 7).Value
Me.txt7.Value = cel.Offset(, 8).Value
Me.txt8.Value = cel.Offset(, 9).Value
Me.txt9.Value = cel.Offset(, 10).Value
Me.txt10.Value = cel.Offset(, 11).Value
Me.txt11.Value = cel.Offset(, 12).Value
End If
Next cel
End Sub
如果您的意思是“仅一部分”,那么该instr
功能就是您所需要的。见下文...
If InStr(1, cel.Value, Me.txtname.Value, vbTextCompare) > 0 And _
InStr(1, cel.Offset(, 2).Value, Me.txtsearch.Value) > 0 Then
如果您只想向左移动,则可以这样做:
If Left(cel.Value, Len(Me.txtname.Value)) = Me.txtname.Value And _
Left(cel.Offset(, 2).Value, Len(Me.txtname.Value)) = Me.txtname.Value Then
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句