FilteredStartRow = A2 세부 사항 StartRow = D2
※ i = x (filteredItemCount 값 가져 오기, 예 : 2, 3, 2)
※ j = y (DetailItemCount 값 가져 오기, 예 : 4, 5, 3)
두 번째 filterStartRow (A4) 및 detailsStartRow (D10)로 얼마나 효율적으로 이동할 수 있는지 막혔습니다. 마지막 필터와 세부 사항 StartRow까지 계속합니다.
내가하는 일 : 필터 및 세부 항목 내에서 중첩 된 루프를 실행하려면 ItemCount (예 : x, y)를 가져옵니다. 필터 및 세부 정보에 대한 다음 항목 수를 이미 알고 있으므로 NEXT filterStartRow 및 detailsStartRow 만 변경하면됩니다. (i, j)에 대한 동적 설정과 STARTROW 설정을 사용하여 어떻게 루프를 구성 할 수 있습니까? 누구든지 코드를 도와주세요.
다음은 첫 번째 루프 (녹색 테두리)에서만 작동하는 코드입니다.
startRow = 2
startRow1 = 2
nextDetailsRow = 0
For i = 1 To noOfFilteredItem (e.g:3)
mapFilteredItemCount = Worksheets("Sheet1").Cells(startRow, 3).Value
detailsItemCount = Worksheets("Sheet1").Cells(startRow1, 6).Value
With ThisWorkbook.Worksheets("Sheet1")
For m = 1 To mapFilteredItemCount
For n = 1 To detailsItemCount
If .Cells((startRow + m) - 1, 2) = .Cells((startRow1 + n) - 1, 5) Then
If IsEmpty(.Cells((startRow1 + n) - 1, 8).Value) = True Then
.Cells((startRow1 + n) - 1, 8).Value = "Deliver"
nextDetailsRow = nextDetailsRow + startRow + n
Else
GoTo NextIteration
End If
End If
NextIteration:
Next n
Next m
End With
Next i
내 문제는 다음
과 같습니다.-루프 (m, n)가 완료되면 STARTROW 및 STARTROW1을 동적으로 업데이트해야합니다.
-다음 시작 행 값을 받기 위해 STARTROW 및 STARTROW1 변수를 어떻게 할당합니까?
내 논리 :
-모든 STARTROW 및 STARTROW1 번호를 배열로 유지 한 다음 배열에서 값을 가져 오려고 생각했습니다.
예 :
filteredItemRowArray () = 2, 4, 7 (※ 필터링 된 항목의 시작 행 번호)
detailsItemRowArray () = 2, 6, 11 (※ 세부 사항 항목의 시작 행 번호)
하지만 행 번호 값을 유지하기 위해이 배열을 정렬 할 수 없습니다.
누구든지 나를 도울 수 있습니까? 당신의 SMARTNESS 프로그래밍에 진심으로 감사드립니다. 궁금한 점이 있거나 문제를 이해하면 알려주세요. 대단히 감사합니다.
나는 같은 아이디어를 시도 할 것입니다. 숫자로 배열을 반복합니다. 다음 코드를 시도하십시오.
Sub Outer_Loop()
Dim StartrowArr, Startrow1Arr, I As Integer
Dim Startrow As Long, Startrow1 As Long
StartrowArr = Array(2, 4, 7)
Startrow1Arr = Array(2, 6, 11)
For I = LBound(StartrowArr) To UBound(StartrowArr)
Startrow = StartrowArr(I)
Startrow1 = Startrow1Arr(I)
Debug.Print "Loop " & I, "Startrow: " & Startrow, "Startrow1: " & Startrow1
' your code
Next I
End Sub
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다