2017-01-04 7 views
0

階層(col B:D)に基づいて列Fに数値を生成する必要があります。以下は、excap examapleと結果/値を取得する必要があります。 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 
関連する問題