Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用拆分数组的strfind_Arrays_Vba_Excel - Fatal编程技术网

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,您能用一些代码解释一下您的语句吗。@stckvrflw
What:
方法的命名参数之一。Find
方法应显示为
智能感知。您的
strfind
变量是一个数组(有关
Split
方法,请参阅帮助)。一次只需循环遍历数组中的一个元素即可使
.Find
正常工作。你会发现很多关于如何通过互联网搜索实现这一点的信息,比如
vba:looping-through-array