Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2767|回复: 9

[已解决]如何让Treeview节点不使用辅助列?

[复制链接]
发表于 2012-10-24 12:32 | 显示全部楼层 |阅读模式
快照1.jpg
图中的红框部分是节点,也是根据代码的长度返回相应值的,现在用TREEVIEW时,运用到了A列这列数据,试问一下,跳过这个辅助列的话,直接根据代码长度来判断可行不?(节点值是代码长度的1/2) Treeview求助.zip (11.54 KB, 下载次数: 14)
发表于 2012-10-24 13:54 | 显示全部楼层
可以从代码列的代码来考虑嘛。
看看兰版的视频里就有的。
回复

使用道具 举报

发表于 2012-10-24 14:08 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-10-24 14:11 | 显示全部楼层
hwc2ycy 发表于 2012-10-24 14:08
偶动手练下,

那就多谢了,学习学习啊
回复

使用道具 举报

发表于 2012-10-24 14:36 | 显示全部楼层
  1. Private Sub UserForm_Initialize()
  2.     Dim arr, sCode$, sName$
  3.     Dim iRow&
  4.     iRow = [b2].End(xlDown).Row
  5.     arr = Range("B2:c" & iRow).Value
  6.     TreeView1.HideSelection = False
  7.     TreeView1.LineStyle = tvwRootLines  '显示出表示可扩展节点的“+”号
  8.     Me.Caption = "会计科目"
  9.     With Me.TreeView1
  10.         For i = LBound(arr) + 1 To UBound(arr)
  11.             sCode = "A" & arr(i, 1)
  12.             sName = arr(i, 2)
  13.             Select Case Len(sCode)
  14.                 Case 3: .Nodes.Add Key:=sCode, Text:=sName
  15.                 Case 5: .Nodes.Add Relative:=Left(sCode, 3), Relationship:=4, Key:=sCode, Text:=sName
  16.                 Case 7: .Nodes.Add Relative:=Left(sCode, 5), Relationship:=4, Key:=sCode, Text:=sName
  17.             End Select
  18.         Next
  19.         For i = 1 To .Nodes.Count
  20.             .Nodes(i).EnsureVisible
  21.             .Nodes(i).Expanded = False
  22.         Next i
  23.         .Nodes(1).Selected = True
  24.     End With
  25. End Sub
复制代码
回复

使用道具 举报

发表于 2012-10-24 14:39 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub UserForm_Initialize()
  2.     Dim arr, sCode$, sName$
  3.     Dim iRow&
  4.     iRow = [b2].End(xlDown).Row
  5.     arr = Range("B2:c" & iRow).Value
  6.     TreeView1.HideSelection = False
  7.     TreeView1.LineStyle = tvwRootLines  '显示出表示可扩展节点的“+”号
  8.     Me.Caption = "会计科目"
  9.     With Me.TreeView1
  10.         For i = LBound(arr) + 1 To UBound(arr)
  11.             sCode = "A" & arr(i, 1)
  12.             sName = arr(i, 2)
  13.             Select Case Len(sCode)
  14.                 Case 3: .Nodes.Add Key:=sCode, Text:=sName
  15.                 Case 5: .Nodes.Add Relative:=Left(sCode, 3), Relationship:=4, Key:=sCode, Text:=sName
  16.                 Case 7: .Nodes.Add Relative:=Left(sCode, 5), Relationship:=4, Key:=sCode, Text:=sName
  17.             End Select
  18.         Next
  19.         For i = 1 To .Nodes.Count
  20.             .Nodes(i).EnsureVisible
  21.         Next i
  22.         For i = 1 To .Nodes.Count
  23.             .Nodes(i).Expanded = False
  24.         Next i
  25.         .Nodes(1).Selected = True
  26.     End With
  27. End Sub
复制代码
改了下,先不展开所有的项。
回复

使用道具 举报

 楼主| 发表于 2012-10-24 14:41 | 显示全部楼层
hwc2ycy 发表于 2012-10-24 14:39
改了下,先不展开所有的项。

正是我想要的,多谢了
回复

使用道具 举报

发表于 2012-10-24 14:43 | 显示全部楼层
上次也是从你这学了TREEVIEW,
回复

使用道具 举报

 楼主| 发表于 2012-10-24 15:02 | 显示全部楼层
hwc2ycy 发表于 2012-10-24 14:43
上次也是从你这学了TREEVIEW,

那能不能实现不定级数的树状结构,就是可能存在三级四级。。。
回复

使用道具 举报

发表于 2012-10-24 15:15 | 显示全部楼层
N级都成,关键是你的代码编码得遵循一个规则,让级别有迹可徨。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 09:23 , Processed in 0.361323 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表