Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用VBA Excel为TreeView正确定义子节点?_Vba_Excel - Fatal编程技术网

如何使用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
?我只是按照这家伙的指示做的