Treeview Font Color

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Op welke wijze geef je de Node Key:=KIND1_KIND1 een kleur
als Cells(i,8) een bepaalde waarde heeft.
En dit veranderd bij een andere waarde


Code:
Private Sub UserForm_Initialize()
  Worksheets("Blad1").Select
  Dim Klas As String
  Me.TreeView1.Nodes.Clear
  Me.TreeView1.Width = 190
  Me.TreeView1.Height = 227
  Me.TreeView1.LineStyle = tvwRootLines
  Me.TreeView1.Indentation = 20

  Const OUDER = "Ouder"
  With Me.TreeView1.Nodes
    .Add Key:=OUDER, Text:="Alle Zaken"  'Hoofd node

'=========================================================
Klas = Cells(2, 1)
    Const KIND1 = "Kind1"
    .Add Relative:=OUDER, _
         relationship:=tvwChild, _
         Key:=KIND1, _
         Text:="Lopende Zaken"
    
    'Zoek eerst de klas
    For i = 7 To 100
        If Cells(i, 3) = 0 Then Exit For
        If Cells(i, 7) = Klas Then
            Const KIND1_KIND1 = "Kind1Kind1"
    
            .Add Relative:=KIND1, _
                 relationship:=tvwChild, _
                Key:=KIND1_KIND1 & " " & i, _
                Text:=Cells(i, 3) & "- " & Cells(i, 8)
                'als Cells(i,8) een bepaalde waarde heeft moet dit een bepaalde kleur krijgen
        End If
    Next i
    
        'Const KIND1_KIND2 = "Kind1Kind2"
        '.Add Relative:=KIND1, _
        '     relationship:=tvwChild, _
        '     Key:=KIND1_KIND2, _
        '     Text:="Kind1_Kind2"
             
'=====================Klas 2====================================
    Klas = Cells(1, 1)
    Const KIND2 = "Kind2"
    .Add Relative:=OUDER, _
         relationship:=tvwChild, _
         Key:=KIND2, _
         Text:="Geloten zaken"
        For i = 7 To 100
        If Cells(i, 3) = 0 Then Exit For
        If Cells(i, 7) = Klas Then
        Const KIND2_KIND1 = "KInd2Kind1"
        .Add Relative:=KIND2, _
             relationship:=tvwChild, _
             Key:=KIND2_KIND1 & " " & i, _
              Text:=Cells(i, 3) & "- " & Cells(i, 8)
         End If
        Next i
        
End With



End Sub
 
Even op voortborduren met een If statement.
Code:
Treeview1.Nodes([COLOR=#3E3E3E]"Kind1_Kind2"[/COLOR]).ForeColor = vbRed

Bijvoorbeeld.
Code:
if Cells(i, 3) & "- " & Cells(i, 8) = "wes- willem" then TreeView1.Nodes(Cells(i, 3) & "- " & Cells(i, 8)).forecolor = vbred
 
Laatst bewerkt:
2020-11-09 (2).png
Helaas. Wat ik ook probeer, krijg elke de melding -Element Not Found-.
Kennelijk gaat mis bij TreeView1.Nodes(Cells(i, 3) enz.
Misschien lees ik het verkeerd maar bij die code, wil ik alleen weten
of de waarde uit Cells(i,8) bestaat uit Tekst1 of Tekst 2 enz.
Code:
if Cells(i, 8) = "Tekst1" then 
          TreeView1.Nodes(Cells(i, 3) & "- " & Cells(i, 8)).forecolor = vbred
elseif Cells(i, 8) = "Tekst2" then 
          TreeView1.Nodes(Cells(i, 3) & "- " & Cells(i, 8)).forecolor = vbgreen
end if
 
Laatst bewerkt:
Laat ik nou helemaal geen zin hebben dit na te bouwen.
 
Ik mis een spatie in "- "
 
Code:
.Add Relative:=KIND1, _
                 relationship:=tvwChild, _
                Key:=KIND1_KIND1 & " " & i, _
                Text:=Cells(i, 3) & "- " & Cells(i, 8)
                If Cells(i, 8) = "Tekst1" Then TreeView1.Nodes([COLOR=#ff0000]"Kind1Kind1 " & i & ""[/COLOR]).ForeColor = vbRed
        End If
 
@HSV

KLasse, je maak mijn hele dag weer goed.
Ik had dit ook uitgeprobeerd alleen zonder "& i &""
In ieder geval er wat bij geleerd.
Thanx.
 
Altijd mooi,

Misschien wil je de vraag als opgelost markeren (in je openingsvraag).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan