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

时间:2017-04-14 18:41:14

标签: excel vba

Excel VBA 我会尽力使这有意义。

我已将数组设置为29项(设备ID T0001-T0028)。

基本上我有一份报告,其中包含这些设备的维护报告。我正在尝试创建一个循环,它将遍历文件,并在每次列出equid ID时查找,然后我将使用left / right / mid函数从文件中提取数据。然而,每个装备ID将被列出多次,所以他们的方式我想象这发生的是装备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

2 个答案:

答案 0 :(得分:1)

这是一个找到重复的循环。改变你的需求

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

答案 1 :(得分:0)

如果我理解正确,它将没有区别,因为你必须循环它[文件数] * [项目数](或[项目数] * [文件数],这是相同)。 你不能预先使用公式对每个文件进行分类,所以你不必针对每个项目进行测试吗?