매우 간단해야한다고 생각하는 문제가 있습니다. 그러나 작동하지 않을 수 있습니다. 내가하고있는 일이라고 확신하지만 전문가의 도움이 필요합니다. 나는 단순히 데이터 테이블을 순환하여 데이터 테이블의 다른 열에 값이 다시 나타나는지 확인하려고합니다. 어떤 이유로 BOTH 문이 실행되고 else 문이 If 문을 덮어 씁니다.Block이 If와 Else 문 모두를 실행하는 경우
For i = 0 To length - 1
For j = 0 To length - 1
If Trim(dt.Rows(i)(0)) = Trim(dt.Rows(j)(6)) Then
need_dt.Rows(i)(9) = "COMP"
need_dt.Rows(i)(10) = Format(resource.AddWorkingDays(need_dt.Rows(i)(2), -5), "MM/dd/yy")
Else
need_dt.Rows(i)(9) = "TOP"
need_dt.Rows(i)(10) = Format(resource.AddWorkingDays(need_dt.Rows(i)(2), -16), "MM/dd/yy")
End If
If Year(need_dt.Rows(i)(10)) = 2029 Then need_dt.Rows(i)(10) = Format(resource.AddWorkingDays(Now, 14), "MM/dd/yyyy")
Next
Next
오신 것을 환영합니다! 예제 데이터도 게시 할 수 있습니까? 가능한 각 루프에 대한 가독성을 위해 인덱스를 사용하여 열에 액세스하는 대신 열 이름을 사용하십시오. 예를 들어, myRow ("myColumn"). 데이터 테이블 내부에서 행을 검색하려면 [select-method] (https://msdn.microsoft.com/en-us/library/det4aw50 (v = vs.110) .aspx) 또는 Linq. – Esko
첫 번째 추측은 'j'의 반복 중 하나에서 'Trim (dt.Rows (i) (0))'<>'트림 (dt.Rows (j) (6)) ' 따라서 다른 두 사람은 모두 "불"으로 보이고 있습니다. – OSKM
내부 루프를 다음과 같이 시도하십시오. j = i + 1 길이 - 1. –