Treeview error please help (SC)

R

Ram

With Worksheets("Cert_Path_module")
For i = 1 To 5
With .Range("Module_" & i)
If .Range("Module_" & i).Values <> "" Then
Set nodX = .Add("Path", tvwChild, "Mod",
Worksheets("Cert_Path_module").Range("Module_" & i).Value)
End If
End With
Next i
End With


But when the system executes
Set nodX = .Add("Path", tvwChild, "Mod",
Worksheets("Cert_Path_module").Range("Module_" & i).Value)


I get error


Run-time error '438':
Object doesn't support this property or method.
 
R

RB Smissaert

Set nodX = .Add( etc.

Nodes have to be added to a Treeview and I didn't see that in your code.

RBS
 
R

Ram

Nodes have to be added to a Treeview and I didn't see that in your code.

RBS









- Show quoted text -

The complete code is as follows

Private Sub UserForm_Initialize()
Dim i As Integer
Dim nodX As Node
With TreeView1.Nodes
.Clear
Set nodX = .Add(, , "GP", Worksheets("tv").Range("GP").Value)
With Worksheets("tv")
For i = 1 To 5
With .Range("Pr" & i)
If .Range("Pr" & i).Values <> "" Then
Set nodX = .Add("GP", tvwChild, "Parent1",
Worksheets("tv").Range("Pr" & i).Value)
End If
End With
Next
End With
nodX.Expanded = True

nodX.Expanded = True
nodX.EnsureVisible
End Sub

but i get error Run-time error '438': Object doesn't support this
property or method, when the system tries to excute this line
Set nodX = .Add("GP", tvwChild, "Parent1", Worksheets("tv").Range("Pr"
& i).Value)

Where am i going wrong??
 
N

NickHK

Check your "With" blocks.
It looks like "Set nodX = .Add("GP", ...
is referring to Worksheets("tv").Range("Pr" & i)

You cannot nest 2 unrelated object hierarchies.

NickHK
 
R

Ram

Check your "With" blocks.
It looks like "Set nodX = .Add("GP", ...
is referring to Worksheets("tv").Range("Pr" & i)

You cannot nest 2 unrelated object hierarchies.

NickHK











- Show quoted text -

The reason i'm refering is because i want the node to get its value
from Pr1 so on till Pr5 so what can i set my node to?
Any suggestions?
 
R

Ram

Check your "With" blocks.
It looks like "Set nodX = .Add("GP", ...
is referring to Worksheets("tv").Range("Pr" & i)

You cannot nest 2 unrelated object hierarchies.

NickHK











- Show quoted text -

My excel sheet has
1- Grand Parent
5- Parents
and 100 kids (each Parent having 20 kids each)

now i can write a huge code to get values from the sheet and Populate
the node, but the problem i face if there are Empty cells i.e. if in
the excel sheet on 2 parents fields are filled and only 10 kids fields
are filled. I get an empty node whereever empty cells. this make the
treeview look absurd. I got a reply from one of the group members to
use an if condition. And i used it (the above code) which throws an
error.

Any suggestions?
 
N

NickHK

As I said you have to fix your With blocks.
And there is no such property as .Values as in:
..Range("Pr" & i).Values

maybe something like:
With TreeView1.Nodes
.Clear
Set nodX = .Add(, , "GP", Worksheets("tv").Range("GP").Value)
End With

With Worksheets("tv")
For i = 1 To 5
With .Range("Pr" & i)
If .Value <> "" Then
Set nodX = TreeView1.Nodes.Add("GP", tvwChild, "Parent1",
..Value)
End If
End With
Next
End With

NickHK
 
R

Ram

As I said you have to fix your With blocks.
And there is no such property as .Values as in:
.Range("Pr" & i).Values

maybe something like:
With TreeView1.Nodes
.Clear
Set nodX = .Add(, , "GP", Worksheets("tv").Range("GP").Value)
End With

With Worksheets("tv")
For i = 1 To 5
With .Range("Pr" & i)
If .Value <> "" Then
Set nodX = TreeView1.Nodes.Add("GP", tvwChild, "Parent1",
.Value)
End If
End With
Next
End With

NickHK





text -



- Show quoted text -

Sorry for coming back i'm totally new to this code. I made changes
that you had suggested, but no success. I really dumb with this code.

Dim i As Long
Dim nodX As Node
With TreeView1.Nodes
.Clear
Set nodX = .Add(, , "GP", Worksheets("tv").Range("GP").Value)
End With
With Worksheets("tv")
For i = 1 To 5
With .Range("Pr" & i)
If .Value <> "" Then
Set nodX = TreeView1.Nodes.Add("GP", tvwChild,
"Parent1", .Value)

End If
End With
Next
End With
this is how my code looks now but i get the same error.
 
R

Ram

Sorry for coming back i'm totally new to this code. I made changes
that you had suggested, but no success. I really dumb with this code.

Dim i As Long
Dim nodX As Node
With TreeView1.Nodes
.Clear
Set nodX = .Add(, , "GP", Worksheets("tv").Range("GP").Value)
End With
With Worksheets("tv")
For i = 1 To 5
With .Range("Pr" & i)
If .Value <> "" Then
Set nodX = TreeView1.Nodes.Add("GP", tvwChild,
"Parent1", .Value)

End If
End With
Next
End With
this is how my code looks now but i get the same error.- Hide quoted text -

- Show quoted text -

I did little modifications and the problem is fixed now. Thanks a lot
for your help NickHK
 
R

Ram

I did little modifications and the problem is fixed now. Thanks a lot
for yourhelpNickHK- Hide quoted text -

- Show quoted text -

Now I have a different error with treeview . Now as the above code
take in values of the cells thats been given, now if the Parent Nodes
cell is blank thought it has no chlidren, it thorws an error "Element
not found". What modification do i make to get rid of this??
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top