如何使用VBA Excel为TreeView正确定义子节点?
我不确定当我像示例那样将其转换为字符串时,为什么会出现无效键错误如何使用VBA Excel为TreeView正确定义子节点?,vba,excel,Vba,Excel,我不确定当我像示例那样将其转换为字符串时,为什么会出现无效键错误 Private Sub UserForm_Initialize() Dim i As Long, j As Long, Total_rows_Column As Long Dim unique_keys As Long For i = 1 To 5 TreeView1.Nodes.Add Key:=Worksheets("Sheet1").Cells(1, i), Text:=Worksheets("Sheet1").
Private Sub UserForm_Initialize()
Dim i As Long, j As Long, Total_rows_Column As Long
Dim unique_keys As Long
For i = 1 To 5
TreeView1.Nodes.Add Key:=Worksheets("Sheet1").Cells(1, i), Text:=Worksheets("Sheet1").Cells(1, i)
Next i
unique_keys = 0
For i = 1 To 5
Total_rows_Column = Worksheets("Sheet1").Range(Col_Letter(i) & Rows.Count).End(xlUp).Row
For j = 2 To Total_rows_Column
unique_keys = unique_keys + 1
'ERROR IN THE LINE BELOW************
TreeView1.Nodes.Add Worksheets("Sheet1").Cells(1, i).Value, tvwChild, CStr(unique_keys), Worksheets("Sheet1").Cells(j, i).Value
Next j
Next i
End Sub
看来treeNode的
键
可能不仅仅包含数字(反复试验,没有找到任何参考)。试试像这样的东西
TreeView1.Nodes.Add Worksheets("Sheet1").Cells(1, i).Value, _
tvwChild, "Key" & CStr(unique_keys), _
Worksheets("Sheet1").Cells(j, i).Value
更新:
节点的键用作节点的名称,名称不能是数字。您可以编写
TreeView1.Nodes(“Key1”).Text=“MyTest”
来访问该节点,但是如果名称是1
,编译器无法判断您指的是名为1的节点还是索引为1的节点。treeNode的键可能不仅仅包含数字(反复试验,没有找到任何引用)。试试像这样的东西
TreeView1.Nodes.Add Worksheets("Sheet1").Cells(1, i).Value, _
tvwChild, "Key" & CStr(unique_keys), _
Worksheets("Sheet1").Cells(j, i).Value
更新:
节点的键用作节点的名称,名称不能是数字。您可以编写TreeView1.Nodes(“Key1”).Text=“MyTest”
来访问节点,但是如果名称是1
,编译器无法判断您是指名称为1还是索引为1的节点这是一些最小的代码,可以工作,产生以下结果:
似乎该键应该包含非数字字符和空值-。这是一些最小的代码,可以工作,产生以下结果:
似乎键应该包含非数字字符和空值-。什么是tvwChild
?我只是按照这家伙的指示做了什么是tvwChild
?我只是按照这家伙的指示做的