Arrays 使用拆分数组的strfind
对于我的项目,我试图从Arrays 使用拆分数组的strfind,arrays,vba,excel,Arrays,Vba,Excel,对于我的项目,我试图从列表框中提取数据。 列表框中的数据类似于“1 x螺栓”,我试图从这句话中获得“螺栓”部分。然后检查该单词来自我的Excel工作表(名为“Bom”)的哪一行。如果找到,则找到同一行,而不是F列,转到G列,并将该文本插入我的不同列表框2 到目前为止,它告诉我strearch不适用于数组 我的代码 With ONDS1 Dim PartID As String Dim rSearch As Range 'ran
列表框中提取数据。
列表框中的数据类似于“1 x螺栓”,我试图从这句话中获得“螺栓”部分。然后检查该单词来自我的Excel工作表(名为“Bom”)的哪一行。如果找到,则找到同一行,而不是F列,转到G列,并将该文本插入我的不同列表框2
到目前为止,它告诉我strearch不适用于数组
我的代码
With ONDS1
Dim PartID As String
Dim rSearch As Range 'range to search
Dim c As Range
Dim i As Long
With Sheets("Bom")
Set rSearch = .Range("f1", .Range("F1000").End(xlUp))
End With
For i = 0 To Me.ListBox_stuklijst.ListCount - 1
strfind = Split(Me.ListBox_stuklijst(i), , 3)
strfind(2) = rSearch
Set c = rSearch.Find(strfind, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
MsgBox "working"
End If
Next i
End With
从哪里填充列表框中的值?从“Bom”表范围?如何?它将零件数量的“aantal”与其ID结合起来。lijstItem=TextBox\u AantalStuks&“X”和ComboBox\u ID.Value ListBox\u stuklijst.AddItem(lijstItem)在中的内容。Find
不能是数组。因此,您需要遍历strfind
的元素。将rSearch
读入VBA数组,然后使用Split
方法或正则表达式搜索数组元素可能会更快。@RonRosenfeld我确实是个初学者,上周才开始使用VBA,您能用一些代码解释一下您的语句吗。@stckvrflwWhat:
是方法的命名参数之一。Find
方法应显示为智能感知。您的strfind
变量是一个数组(有关Split
方法,请参阅帮助)。一次只需循环遍历数组中的一个元素即可使.Find
正常工作。你会发现很多关于如何通过互联网搜索实现这一点的信息,比如vba:looping-through-array