![338e8818aa3e4202545646144b999425.png](https://i-blog.csdnimg.cn/blog_migrate/df17405caeacfcfdd963ee3f4607c76c.jpeg)
学习资源:《Excel VBA从入门到进阶》第60集 by兰色幻想
三、动态添加
如何在加载后的Treeview里再动态加入数据?
和数据读入类似,重点是确认节点的位置。
还是接上一篇的例子,用代码来确认位置,只要输入正确的代码,找到父节点,就能判断到新数据应该放置的位置。
先来展示下想达到的效果:
![53d0334122a098fb835444bae503482d.gif](https://i-blog.csdnimg.cn/blog_migrate/6311fd8d30568a0893dd6f0572099ff2.gif)
完整代码:
Private Sub CommandButton1_Click()
Dim Nodx As node
On Error GoTo 100
t1 = TextBox1.Value
t2 = TextBox2.Value
MCO = Range("A65536").End(xlUp).Row + 1
Cells(MCO, 1) = t2
Cells(MCO, 2) = t1
If Len(t1) = 1 Then
Set Nodx = TreeView1.Nodes.Add("总公司", tvwChild, "A" & t1, t2 & "(" & t1 & ")", 2)
'添加要确定添加的层次和上一级节点的索引值,这里用L
ElseIf Len(t1) = 3 Then
Set Nodx = TreeView1.Nodes.Add("A" & Left(t1, 1), tvwChild, "A" & t1, t2 & "(" & t1 & ")", 3)
'添加要确定添加的层次和上一级节点的索引值,这里用Left从代码中截取上一级的索引值,然后用来定位.
ElseIf Len(t1) = 6 Then
Set Nodx = TreeView1.Nodes.Add("A" & Left(t1, 3), tvwChild, "A" & t1, t2 & "(" & t1 & ")", 4)
End If
Nodx.EnsureVisible '