Die Datei https://www.herber.de/bbs/user/62395.xls wurde aus Datenschutzgründen gelöscht
Diese wollte ich meinen Bedürfnissen anpassen aber ich bekomme immer einen Syntaxfehler. Anstatt jeden Namen der Arbeitsblätter inklusive der Zelle A1 in das Textfenster zu schreiben möchte ich nur die Daten aus einem Tabellenblatt einlesen z.B. A5:A2000, aber das Funktioniert nicht. Ich kann immer nur einen Zellenwert anzeigen lassen obwohl ich "A5:A2000" geschrieben habe. Wieso ist das so? Der Code sieht aktuell so aus.
Private Sub TreeView1_Click()
Dim s As String, i As Integer
With TreeView1.SelectedItem
s = .Text
i = InStr(1, s, "-", vbTextCompare)
If i > 0 Then
s = Trim(Left(s, i - 1))
End If
If .Children = False Then
Workbooks(.Parent.Text).Worksheets(s).Activate
Else
Workbooks(TreeView1.SelectedItem.Text).Activate
End If
End With
End Sub
Private Sub UserForm_Initialize()
Dim wkb As Workbook
Dim wks As Worksheet
Dim ndeMain As Node, ndeSecond As Node
Dim iCounter As Integer
With TreeView1
For Each wkb In Workbooks
iCounter = iCounter + 1
Set ndeMain = .Nodes.Add(Text:=wkb.Name)
For Each wks In wkb.Worksheets
Set ndeSecond = .Nodes.Add(relative:=ndeMain, relationship:=tvwChild, Text:=wks.Range("A5"). _
Value)
Set ndeSecond = .Nodes.Add(relative:=ndeMain, relationship:=tvwChild, Text:=wks.Range(" _
B5").Value)
ndeSecond.Sorted = True
Next wks
Next wkb
ndeMain.Expanded = True
ndeMain.Sorted = True
End With
End Sub
Grüße Marco