Извините за мою Noobness с Excel / Vba ... из мира Unix ... Мне нужна помощь!
Я пытаюсь построить TreeView в форме Excel из таблицы Excel с 3 столбцами. Лист ссылается на список кинотеатров, уже организованных в «древовидном представлении», где столбец A относится к названию группы кинотеатров, столбцы B и C относятся к конкретным названиям кинотеатров и информации, например:
A1:Independent Cinemas
B2:CinemaName1 C2:Cinema1 Infos
B3:CinemaName2 C3:Cinema2 Infos
B4:CinemaName3 C4:Cinema3 Infos
A5:Cineplex Cinemas
B6:CinemaName4 C6:Cinema4 Infos
B7:CinemaName5 C7:Cinema5 Infos
A8:Next Group of Cinemas
B9:..... etc etc
Следуя этому описанию, я хочу, чтобы древовидная структура выглядела так:
+-A1
---+B2,C2
---+B3,C3
---+B4,C4
+-A5
---+B6,C6
---+B7,C7
+-A8
---+B9,C9
etc...
Извините за представление, это хромает, но вы получите картину ...
Вот что у меня есть:
Private Sub TreeView_Populate()
Dim wbBook As Workbook
Dim wsZones As Worksheet
Dim rngZones As Range
Dim lngRows As Long
Set wbBook = ThisWorkbook
Set wsZones = wbBook.Worksheets("Cinemas")
lngRows = wsZones.Range("A65536").End(xlUp).row
Set rngZones = wsZones.Range("A1:A" & lngRows)
Dim lElement As Long
Dim rCell As Range
With Me.ZonesTree.Nodes
'Clear TreeView control
.Clear
For Each rCell In rngZones
'We have a group name in the A columns so we attach it to the tree
If Not rCell.Text = "" Then
.Add Key:=rCell.Text, Text:=rCell.Text
'THIS IS WHERE I BLOCK!!
'Need the range from Columns B and C until the next Value in the A Column
'in order to add the children nodes....
.Add relative:=CinemaName, _
relationship:=tvwChild, _
Key:=CinemaName(here it will be B column), CinemaInfos(C column)
Text:=CinemaName(B column)
End If
Next rCell
End With
End Sub
В моей форме также есть подпрограмма инициализации .ZonesTree.LineStyle = tvwRootLines, которая создает флажки для каждого элемента дерева. Я бы хотел, чтобы все флажки были установлены по умолчанию ...
Это возможно? Мне в основном нужен «временный» диапазон, содержащий значения из столбцов B и C для построения дочерних узлов ... В коде VBA я добавил несколько комментариев, где я не могу ...
Буду очень признателен за любую помощь / предложение!