为什么总是提示类型不匹配,请,多谢!(机构表中的字段均为字符型)
为什么总是提示类型不匹配,请高手指点,谢谢!(机构表中的字段均为字符型)
Private Sub cmdqueding_Click()
Dim NodX As node
Dim x, y, z As Integer
Dim row, col As Integer
Dim org_code1, org_name1 As String
Dim org_count As Integer
Dim org_array(5000, 3) As String
Me.TreeView1.ImageList = Me.ImageList1
Me.TreeView1.PathSeparator = "\"
Me.TextBox1.Text = "安徽省分行"
org_count = Sheets("机构表").UsedRange.Rows.Count
If org_count < 2 Then
z = MsgBox("机构表为空表,请更新机构表!", vbYesNo, "更新机构!", 32)
Exit Sub
Else
For x = 2 To org_count
org_name1 = Sheets("机构表").Cells(x, 2).Text
If org_name1 = Trim(Me.TextBox1.Text) Then
org_code1 = Sheets("机构表").Cells(x, 1).Text
Exit For
End If
Next
For z = x To org_count
If Left(Trim(Sheets("机构表").Cells(z + 1, 3).Text), 2) = Left(Trim(org_code1), 2) Then
row = z - x
For col = 0 To 2
org_array(row, col) = Sheets("机构表").Cells(z, col + 1).Text
Next
Else
Exit For
End If
Next
'建立第一个节点
Set NodX = TreeView1.Nodes.Add(, , "key" & org_array(0, 0), org_array(0, 1)) '类型不匹配
'建立子节点
For y = 1 To row - 1
Set NodX = TreeView1.Nodes.Add(org_array(y, 2), tvwChild, "key" & org_array(y, 0), org_array(y, 1))
Next
End If
'自动展开
For Each NodX In TreeView1.Nodes
NodX.Expanded = True
Next
End Sub
------解决方案--------------------
可能存在多个名为 Node 的类型,定义变量时加上具体的库名限定
Private Sub cmdqueding_Click()
Dim NodX As node
Dim x, y, z As Integer
Dim row, col As Integer
Dim org_code1, org_name1 As String
Dim org_count As Integer
Dim org_array(5000, 3) As String
Me.TreeView1.ImageList = Me.ImageList1
Me.TreeView1.PathSeparator = "\"
Me.TextBox1.Text = "安徽省分行"
org_count = Sheets("机构表").UsedRange.Rows.Count
If org_count < 2 Then
z = MsgBox("机构表为空表,请更新机构表!", vbYesNo, "更新机构!", 32)
Exit Sub
Else
For x = 2 To org_count
org_name1 = Sheets("机构表").Cells(x, 2).Text
If org_name1 = Trim(Me.TextBox1.Text) Then
org_code1 = Sheets("机构表").Cells(x, 1).Text
Exit For
End If
Next
For z = x To org_count
If Left(Trim(Sheets("机构表").Cells(z + 1, 3).Text), 2) = Left(Trim(org_code1), 2) Then
row = z - x
For col = 0 To 2
org_array(row, col) = Sheets("机构表").Cells(z, col + 1).Text
Next
Else
Exit For
End If
Next
'建立第一个节点
Set NodX = TreeView1.Nodes.Add(, , "key" & org_array(0, 0), org_array(0, 1)) '类型不匹配
'建立子节点
For y = 1 To row - 1
Set NodX = TreeView1.Nodes.Add(org_array(y, 2), tvwChild, "key" & org_array(y, 0), org_array(y, 1))
Next
End If
'自动展开
For Each NodX In TreeView1.Nodes
NodX.Expanded = True
Next
End Sub
------解决方案--------------------
可能存在多个名为 Node 的类型,定义变量时加上具体的库名限定
- VB code
Dim NodX As MSComctlLib.Node
------解决方案--------------------
大错误的观念
Dim x As Integer, y As Integer, z As Integer
Dim row As Integer, col As Integer
Dim org_code1 As String, org_name1 As String
------解决方案--------------------
2L应该可以解决了,另外3L说的是楼主的定义方式错误的.
定义变量时如楼主写的dim a,b as string这样的话,其实只定义了b为string,而a没有给一个变量.
最好分开写或者如3L那样写.
------解决方案--------------------
楼上的将楼层搞错了。
注意每个回复的右上角都标有楼层。