作りかけメモ

2016年4月12日火曜日

t f B! P L
Sub test()
    Dim node As New category
   
    '最初のノードセルの位置を確定
    Set node.pos = Sheet1.Cells.Find("a")
    '最初のノードセルの名前を確定
    node.name = Sheet1.Cells.Find("a").Value
    '最初のノードセルのサイズを確定
    node.size = Sheet1.Cells.Find("a").MergeArea.Rows.Count
    '最初のノードの子要素を確定
    node.getElement
    '最初のノードの中身をダンプ
    node.display
   
    '子要素の中身を確定
    For i = 1 To node.child.Count
        node.child.Item(i).getElement
        node.child.Item(i).display
    Next

End Sub






Public name As String
Public pos As Range
Public size As Integer
Public child As New Collection

Public Sub getElement()
   
    Dim cell As Range
    Set cell = pos.Next
   
    Dim ele As category
   
    '最初の子要素
    Set ele = New category
    Set ele.pos = cell
    ele.name = ele.pos.Value
    ele.size = cell.MergeArea.Rows.Count
    child.Add ele
   
   
    Set ele = New category
    Set ele.pos = cell.Offset(1, 0)
    Set cell = ele.pos
    ele.name = ele.pos.Value
    ele.size = ele.pos.MergeArea.Rows.Count
    child.Add ele
   
    Set ele = New category
    Set ele.pos = cell.Offset(1, 0)
    Set cell = ele.pos
    ele.name = ele.pos.Value
    ele.size = ele.pos.MergeArea.Rows.Count
    child.Add ele

End Sub


Public Sub display()
    Debug.Print "Cell:" & pos.Address
    Debug.Print "Size:" & size
    Debug.Print "Child:" & child.Count
    For i = 1 To child.Count
        Debug.Print "+" & child.Item(i).name
    Next
End Sub

Translate

このブログを検索

  • ()
  • ()
もっと見る

QooQ