vba treeview填充显示不了节点内容 20

在网上找了一段代码填充treeview的代码,我把Workbooks跟sheets的名字都改成他这样的还是显示不了节点内容大家帮我看看哪里有错啊?'填充TreeView控... 在网上找了一段代码填充treeview的代码,我把Workbooks跟sheets的名字都改成他这样的还是显示不了节点内容 大家帮我看看哪里有错啊?
'填充TreeView控件
Sub treeViewPopulate()
Dim i As Long
Dim j As Long
Dim xNode As Node
Dim NodeKey As String
Dim strWksName As String
Dim objWks As Worksheet

strWksName = "节点数据"
Set objWks = Workbooks("PopulateTreeView.xlsm").Sheets(strWksName)
j = objWks.Range("A" & Rows.Count).End(xlUp).Row
With Me.TreeView1
'第一层次的节点
For i = 2 To j
Set xNode = .Nodes.Add
NodeKey = objWks.Range("A" & i).Text
With xNode
.Key = NodeKey
.Text = NodeKey
.Expanded = False
End With
Next i
j = objWks.Range("C" & Rows.Count).End(xlUp).Row
'其他节点
For i = 2 To j
Set xNode = .Nodes.Add(objWks.Range("B" & i).Text, tvwChild)
NodeKey = objWks.Range("C" & i).Text
With xNode
.Key = NodeKey
.Text = NodeKey
End With
Next i
End With

Set xNode = Nothing
Set objWks = Nothing
End Sub
http://www.excelperfect.com/index.php/2009/10/09/populatetreeview/comment-page-1/
就这是这里代码excel图片也有
展开
 我来答
jhwsxing
2012-08-28 · TA获得超过191个赞
知道答主
回答量:65
采纳率:0%
帮助的人:13.9万
展开全部
经过我的测试,结果成功,现告诉你问题所在:

1、他的代码是一个过程,必须在窗体中相关的命令下来激活它才行;

随便放在一个窗体或控件下的事件中即可——如:
Private Sub UserForm_Initialize()

Dim i As Long
Dim j As Long
Dim xNode As Node
Dim NodeKey As String
Dim strWksName As String
Dim objWks As Worksheet

strWksName = "节点数据"
Set objWks = ThisWorkbook.Sheets(strWksName)
j = objWks.Range("A" & Rows.Count).End(xlUp).Row
With Me.TreeView1
'第一层次的节点
For i = 2 To j
Set xNode = .Nodes.Add
NodeKey = objWks.Range("A" & i).Text
With xNode
.Key = NodeKey
.Text = NodeKey
.Expanded = False
End With
Next i
j = objWks.Range("C" & Rows.Count).End(xlUp).Row
'其他节点
For i = 2 To j
Set xNode = .Nodes.Add(objWks.Range("B" & i).Text, tvwChild)
NodeKey = objWks.Range("C" & i).Text
With xNode
.Key = NodeKey
.Text = NodeKey
End With
Next i
End With

Set xNode = Nothing
Set objWks = Nothing

End Sub

2、注意工作簿的保存名称,如果保存的与他的引用不同,则可以通过改变其中的:
Set objWks = Workbooks("PopulateTreeView.xlsm").Sheets(strWksName)
为:
Set objWks = ThisWorkbook.Sheets(strWksName)
来通用!

祝你早日测试成功,这个代码并不太难……呵呵……
newudiab
2011-02-16 · TA获得超过131个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:142万
展开全部
没有看到Excel表的内容,所以只能猜一下了。
试试在
With Me.TreeView1
后面加一条
.LineStyle = tvwRootLines
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式