VBA⾃学应⽤(17)——TreeView控件数据图如所⽰
⾸先到我们的TreeView控件插⼊
然后键⼊如下代码
Dim j As Integer
Dim arr
arr = Sheet3.Range("b3").CurrentRegion
With Me.TreeView1
.Style= tvwTreelinesPlusMinusPictureText
.LineStyle = tvwRootLines
.CheckBoxes =False
With .Nodes
.Clear
.Add Key:="科⽬", Text:="科⽬名称"
For i =1To UBound(arr,2)
For j =2To UBound(arr,1)-1
If Not IsEmpty(arr(j, i))Then
If i =1Then
.
Add relative:="科⽬", _
relationship:=tvwChild, _
Key:=arr(j, i), _
Text:=arr(j, i)
ElseIf Not IsEmpty(arr(j, i -1))Then
.Add relative:=arr(j, i -1), _vba自学好学吗
relationship:=tvwChild, _
Key:=arr(j, i), _
Text:=arr(j, i)
Else
.Add relative:=CStr(Sheet3.Cells(j +2, i).End(xlUp)), _                            relationship:=tvwChild, _
Key:=arr(j, i), _
Text:=arr(j, i)
End If
End If
Next
Next
End With
End With
End Sub
最后效果如图所⽰
再加上⼀个双击可以将所选末级科⽬输⼊单元格的事件
With Sheet3
Lsr = .Cells(Rows.Count,"G").End(3).Row +1 If Me.TreeView1.SelectedItem.Children =0Then
.Cells(Lsr,"G")=Me.TreeView1.SelectedItem.Text Else
MsgBox "你选择的不是末级科⽬!"
End If
End With
End Sub

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。