2017-01-04 68 views
0

我需要根據層次結構(col B:D)在列F中生成數字。下面是非常好的,也是我應該得到的結果/值。 enter image description here在MultiLevel樹中設置數字

我只知道如何顯示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