VBA为数组中的每个项目循环一个文件

Excel VBA我会尽我所能让这个有意义。

我已经设置了我的arrays29个项目(设备ID T0001-T0028)。

基本上,我有一个报告,这些设备的维修logging。 我试图创build一个循环,将通过文件,并find每次列出equid ID,然后我将使用左/右/中function从文件中提取数据。 但是每个装备ID都会多次列出,所以他们的方式我想象这种情况是为了装备T0001程序每次都要经过整个文件查找和提取“T0001”列出,然后去“T0002”并经过整个文件等等…

我知道这将是一个循环,但我很困惑是循环文件还是循环数组。 任何人都可以帮忙

Sub EquipArray() Dim sampleArr() As Variant Dim i As Integer Dim rng As Range, cell As Range i = 1 Set rng = Range("A2:A29") sampleArr = rng End Sub 

这是一个循环,发现重复。 改变你的需求

 Private Sub this() Dim rng As Range Dim rCell As Range Dim this As String Dim arr(9) Set rng = ThisWorkbook.Sheets("Sheet1").Range("a1:a10") For Each rCell In rng.Cells this = rCell.Value For x = LBound(arr, 1) To UBound(arr, 1) If this = arr(x) Then rCell.Interior.ColorIndex = 7 Exit For ElseIf this <> arr(x) And arr(x) = vbNullString Then arr(x) = this Exit For End If Next x Next rCell End Sub 

如果我理解正确的话,它将没有什么区别,因为你必须循环它[文件数量] * [项目数量](或[项目数量] * [文件数量],这是相同的) 。 难道你不能用一个公式事先分类每个文件,所以你不必对每个项目进行testing?