2017-04-14 1 views
0

Excel VBA 이 의미를 갖기 위해 최선을 다할 것입니다.배열의 모든 항목에 대해 파일을 반복하는 VBA

내 어레이를 29 개 항목 (장비 ID T0001-T0028)으로 설정했습니다.

본질적으로 장비의 유지 보수 기록이있는 보고서가 있습니다. 나는 파일을 통해 이동하고 equid ID가 나열 될 때마다 찾은 다음 파일에서 데이터를 추출하기 위해 왼쪽/오른쪽/중간 함수를 사용할 루프를 만들려고합니다. 그러나 각각의 장비 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 

답변

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 
+0

고맙습니다. 지금 사용해 보겠습니다. –

0

로 변경 * [파일 수], 동일 함). 수식을 사용하여 각 파일을 미리 분류 할 수 없으므로 각 항목에 대해 테스트 할 필요가 없습니까?

+0

사진을 업로드 할 수 없으므로 (설명하기가 더 쉬울 수도 있지만) 여러 번 장비 ID를 나열하는 하나의 파일입니다. 보고서에서 추가 데이터 코드를 작성하려고하지만 기본적으로 장비 ID가 "키"로 필요합니다. 더 나은 단어가 부족합니다. 코드는 ID 번호를 찾은 다음 해당 행에서 데이터를 추출하고 ID #을 다시 찾는 다음 행으로 이동합니다. 파일의 끝에서 다음 ID로 다시 시작해야합니다. #. –

관련 문제