2017-01-04 10 views
0

계층 구조 (열 B : D)에 따라 열 F에 숫자를 생성해야합니다. 아래는 excap examaple과 result/value를 얻는 것입니다. enter image description hereMultiLevel 트리에 숫자 설정

나는 Level1의 값을 표시하는 방법 만 알고 있습니다.

ws_c = ws1.Cells(ws1.Rows.Count, "D").End(xlUp).Row 
Dim Lev1 As Long, Lev2 As Long, Lev3 As Long 
Lev1 = 1 
    For i = 3 To ws_c   
     If ws1.Range("B" & i).Value <> "" Then 
      ws1.Range("F" & i).Value = Lev1 
      Lev1 = Lev1 + 1 
     End If 
    Next 
+0

첫째, 완전히 자격을 당신의''ws_c = ws1.Cells (ws1.Rows.Count, "D"로 변경하여 ws_c' 여기 내 코드입니다) .End (xlUp) .Row', 다음 행에 변수를 올바르게 정의하십시오. 'Dim Lev1 As Long, Lev2 As Long, Lev3 As Long' –

+0

작성한대로 위 코드를 수정했습니다 ... – 4est

답변

1

마지막으로 내가 그것을했다 :

For i = 3 To ws_c 
    '**************************************************************** L1 
    If ws1.Range("B" & i).Value <> "" Then 
     ws1.Range("F" & i).Value = Lev1 
     Lev1 = Lev1 + 1 
     Lev2 = 100 
    End If 
    '**************************************************************** L1.1 
    If ws1.Range("C" & i).Value <> "" Then 
     ws1.Range("F" & i).Value = Lev2 + Lev1 - 1 
     Lev2 = Lev2 + 100    
     Lev3 = 10000 
    End If 
    '**************************************************************** L1.1.1 
    If ws1.Range("D" & i).Value <> "" Then 
     ws1.Range("F" & i).Value = Lev3 + Lev1 - 1 + Lev2 - 100 
     Lev3 = Lev3 + 10000 
    End If 
Next