遍历就可以了 For i = 1 To TreeView1.Nodes.Count sngSum=sngSum + TreeView1.Nodes(i)
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) Dim sngSum As Single
sngSum = Val(Node.Text)
If Node.Children > 0 Then sngSum = sngSum + fun_SumChildNode(Node) End IfEnd SubPrivate Function fun_SumChildNode(ByVal Node As MSComctlLib.Node) As Single Dim i As Integer Dim sngSum As Single
For i = 1 To TreeView1.Nodes.Count If Not (TreeView1.Nodes(i) Is Node.Root) Then If TreeView1.Nodes(i).Parent.Key = Node.Key Then sngSum = sngSum + TreeView1.Nodes(i).Text
If TreeView1.Nodes(i).Children > 0 Then sngSum = sngSum + fun_SumChildNode(Node) End If End If End If Next iEnd Function
Private Sub TreeView1_NodeClick(Index As Integer, ByVal Node As MSComctlLib.Node) Dim sngSum As Single sngSum = Val(Node.Text) If Node.Children > 0 Then sngSum = sngSum + fun_SumChildNode(Index, Node) End IfEnd SubPrivate Function fun_SumChildNode(Index As Integer, ByVal Node As MSComctlLib.Node) As Single Dim i As Integer Dim sngSum As Single For i = 1 To TreeView1(Index).Nodes.Count If Not (TreeView1(Index).Nodes(i) Is Node.Root) Then If TreeView1(Index).Nodes(i).Parent.Key = Node.Key Then sngSum = sngSum + TreeView1(Index).Nodes(i).Text If TreeView1(Index).Nodes(i).Children > 0 Then sngSum = sngSum + fun_SumChildNode(Index, Node) End If End If End If Next iEnd Function
If TreeView1(Index).Nodes(i).Parent.Key = Node.Key Then实时错误'91' 对像变量或with变量没设置
测试一下有错误, 但不是你说的,是否你加其他代码导致的或你的其他代码问题 修改一下 Private Sub TreeView1_NodeClick(Index As Integer, ByVal Node As MSComctlLib.Node) Dim sngSum As Single sngSum = Val(Node.Text) If Node.Children > 0 Then sngSum = sngSum + fun_SumChildNode(Index, Node) End If Debug.Print sngSum
End SubPrivate Function fun_SumChildNode(Index As Integer, ByVal Node As MSComctlLib.Node) As Single Dim i As Integer Dim sngSum As Single For i = 1 To TreeView1(Index).Nodes.Count If Not (TreeView1(Index).Nodes(i) Is Node.Root) Then If TreeView1(Index).Nodes(i).Parent.Key = Node.Key Then sngSum = sngSum + TreeView1(Index).Nodes(i).Text If TreeView1(Index).Nodes(i).Children > 0 Then sngSum = sngSum + fun_SumChildNode(Index, TreeView1(Index).Nodes(i)) End If End If End If Next i fun_SumChildNode = sngSum
sngSum=sngSum + TreeView1.Nodes(i)
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim sngSum As Single
sngSum = Val(Node.Text)
If Node.Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Node)
End IfEnd SubPrivate Function fun_SumChildNode(ByVal Node As MSComctlLib.Node) As Single
Dim i As Integer
Dim sngSum As Single
For i = 1 To TreeView1.Nodes.Count
If Not (TreeView1.Nodes(i) Is Node.Root) Then
If TreeView1.Nodes(i).Parent.Key = Node.Key Then
sngSum = sngSum + TreeView1.Nodes(i).Text
If TreeView1.Nodes(i).Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Node)
End If
End If
End If
Next iEnd Function
TreeView1(1)
TreeView1(2)
TreeView1(3)
Private Sub TreeView1_NodeClick(Index As Integer, ByVal Node As MSComctlLib.Node)
Dim sngSum As Single sngSum = Val(Node.Text) If Node.Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Index, Node)
End IfEnd SubPrivate Function fun_SumChildNode(Index As Integer, ByVal Node As MSComctlLib.Node) As Single
Dim i As Integer
Dim sngSum As Single For i = 1 To TreeView1(Index).Nodes.Count
If Not (TreeView1(Index).Nodes(i) Is Node.Root) Then
If TreeView1(Index).Nodes(i).Parent.Key = Node.Key Then
sngSum = sngSum + TreeView1(Index).Nodes(i).Text If TreeView1(Index).Nodes(i).Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Index, Node)
End If
End If
End If
Next iEnd Function
对像变量或with变量没设置
但不是你说的,是否你加其他代码导致的或你的其他代码问题
修改一下
Private Sub TreeView1_NodeClick(Index As Integer, ByVal Node As MSComctlLib.Node)
Dim sngSum As Single sngSum = Val(Node.Text) If Node.Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Index, Node)
End If Debug.Print sngSum
End SubPrivate Function fun_SumChildNode(Index As Integer, ByVal Node As MSComctlLib.Node) As Single
Dim i As Integer
Dim sngSum As Single For i = 1 To TreeView1(Index).Nodes.Count
If Not (TreeView1(Index).Nodes(i) Is Node.Root) Then
If TreeView1(Index).Nodes(i).Parent.Key = Node.Key Then
sngSum = sngSum + TreeView1(Index).Nodes(i).Text If TreeView1(Index).Nodes(i).Children > 0 Then
sngSum = sngSum + fun_SumChildNode(Index, TreeView1(Index).Nodes(i))
End If
End If
End If
Next i fun_SumChildNode = sngSum
End Function