1 sayfadan 1. sayfa

TreeView Nesnesi

İletiTarih: 23 Haz 2008 11:59
Tarkan VURAL
Treeview denetimi, ağaç tarzında şık bir biçimde organize edilebilen klasör veya başka öğelerin hiyerarşik bir görünümünü sunar. Bu denetim genellikle treeview denetiminde seçili olan klasörün içeriğini görüntülemek için kullanılan bir list view denetimini ile bir arada kullanılır.

Çok kullanılan LineStyle özelliği düğümler arasında görüntülenen çizgilerin stillerini ayarlamak için kullanılır.
    0-treelines
    1-rootlines

Bu kod' da TreeView nesnesi üzerine kitabımızdaki sayfa adlarını alıyoruz. Alt adlar olarak da sayfalarımızda bulunan formüllü hücreleri ekliyoruz. Sayfalarınızda ne kadar formüllü hücre var ise TreeView ağacımızın sayfa adlarının yazılacağı ana dalların alt dallarına bu hücre adreslerini yazdırıyoruz.

Öncelikle Toolbox üzerine sağ tıklayıp Additional Control seçerek Microsoft TreeView Control ekleyelim.
Bir UserForm ekleyip form üzerine bir adet TreeView nesnesi, bir adet CommandButton, bir adet Label nesnesi çiziniz ve aşağıda yazılı kodları UserForm kod sayfasına geçiniz.

Kod: Tümünü seç
Private Sub UserForm_Initialize()
TreeView1.LineStyle = 1
     Call TreeView_Ornek
End Sub


Kod: Tümünü seç
Private Sub TreeView_Ornek()
     Dim ws As Worksheet
     Dim rngFormula As Range
     Dim rngFormulas As Range
     With Me.TreeView1.Nodes
          .Clear
          For Each ws In ActiveWorkbook.Worksheets
               'Sayfa adları Treeview.e ekleniyor
               .Add Key:=ws.Name, Text:=ws.Name

               'Formül var mı yok mu denetleyelim
               On Error Resume Next
               Set rngFormulas = ws.Cells.SpecialCells(xlCellTypeFormulas)
               On Error GoTo 0

               'Formüllü hücreler Treeview.e ekleniyor
               If Not rngFormulas Is Nothing Then
                    For Each rngFormula In rngFormulas
                         .Add relative:=ws.Name, _
                              relationship:=tvwChild, _
                              Key:=ws.Name & "," & rngFormula.Address, _
                              Text:="Range " & rngFormula.Address
                    Next rngFormula
               End If

               Set rngFormulas = Nothing
          Next ws
     End With
End Sub


Kod: Tümünü seç
Private Sub Treeview1_NodeClick(ByVal node As MSComctlLib.node)
Me.Label1.Caption = node.Key
End Sub



Kod: Tümünü seç
Private Sub CommandButton2_Click()
     Dim sNodes() As String

     'Treeview.de seçim yapılıp yapılmadığını denetleyelim
     If Me.Label1.Caption = vbNullString Then
          MsgBox "Seçim yapılmamış!" & vbNewLine & _
                 "Lütfen önce seçim yapınız.", vbCritical + vbOKOnly, _
                 "www.ExcelVBA.Net"
          Exit Sub
     End If

     sNodes = Split(Me.Label1, ",")

     With Worksheets(sNodes(0))
          .Activate
          'seçimden sonra seçilen, sayfadan aktif ediliyor
          If UBound(sNodes) + 1 > 1 Then
               'hücre seçiliyor
               .Range(sNodes(1)).Activate
          End If
     End With
MsgBox Label1.Caption & " formülü seçildi"
End Sub


Saygılarımızla,

Cevap: TreeView Nesnesi

İletiTarih: 12 Nis 2010 22:41
metinak
Vermiş olduğunuz tree view örneğinine alt öğe olarak sayfalardaki verileri ekleyebiliriz. örnekte formül içeren hüçreler ekleniyor, sayısal veya metin içeren hücreleri nasıl ilave edebiliriz. Açıklamalı olarak gönderirseniz sevinirim.

İyi çalışmlar,

Cevap: TreeView Nesnesi

İletiTarih: 13 Nis 2010 20:06
Tarkan VURAL
Metin bey , sitemize hoş geldiniz.
Şu başlığı viewtopic.php?f=51&t=3198 incelediniz mi ? [ilginc]

Cevap: TreeView Nesnesi

İletiTarih: 11 May 2010 15:07
drejan62
Tarkan bey merhaba,
Örneğinizi Sayfa1 a sütunundaki değerleri ana başlık, b sütunundaki değerleri 2.altbaşlık, c sütunundaki değerleri 3. altbaşlık olarak atasak ve d sütununa ise bu başlıklara ait açıklamalır koysak, Treeviw nesnesi üzerinde tıkladığımız her başlığın açıklamasını userfonm üzerine oluşturacağımız bir Textbox nesnesinde görünmesini sağlamak mümkünmüdür demiyorum mümkündür tabide nasıl yaparız üstad :))
Teşekkürler

Cevap: Cevap: TreeView Nesnesi

İletiTarih: 11 May 2010 23:54
Tarkan VURAL
drejan62 yazdı:Tarkan bey merhaba,
Örneğinizi Sayfa1 a sütunundaki değerleri ana başlık, b sütunundaki değerleri 2.altbaşlık, c sütunundaki değerleri 3. altbaşlık olarak atasak ve d sütununa ise bu başlıklara ait açıklamalır koysak, Treeviw nesnesi üzerinde tıkladığımız her başlığın açıklamasını userfonm üzerine oluşturacağımız bir Textbox nesnesinde görünmesini sağlamak mümkünmüdür demiyorum mümkündür tabide nasıl yaparız üstad :))
Teşekkürler


Şu başlığı viewtopic.php?f=51&t=3198 incelediniz mi ?

Cevap: Cevap: Cevap: TreeView Nesnesi

İletiTarih: 12 May 2010 08:25
drejan62
Tarkan VURAL yazdı:
drejan62 yazdı:Tarkan bey merhaba,
Örneğinizi Sayfa1 a sütunundaki değerleri ana başlık, b sütunundaki değerleri 2.altbaşlık, c sütunundaki değerleri 3. altbaşlık olarak atasak ve d sütununa ise bu başlıklara ait açıklamalır koysak, Treeviw nesnesi üzerinde tıkladığımız her başlığın açıklamasını userfonm üzerine oluşturacağımız bir Textbox nesnesinde görünmesini sağlamak mümkünmüdür demiyorum mümkündür tabide nasıl yaparız üstad :))
Teşekkürler


Şu başlığı viewtopic.php?f=51&t=3198 incelediniz mi ?


Günaydın tarkan üstad o başlığıinceledim ama onu hiç anlamıdım :)))
Başka bir başlık vardı aslında o tam istediğim gibi ama bunları annlatan bir yazıda olsa süper olacak.
Birde üstad ürün ağacındaki başlıkları iki satır halinde yazmak mümkünmüdür acaba?
Teşekkürler

Cevap: TreeView Nesnesi

İletiTarih: 12 May 2010 19:35
Tarkan VURAL
İki satır olmuyor bildiğim kadarıyla. Belki ekstra API desteği gerekebilir ama o konuda bilgim yok. Araştırıp incelemek lazım. [ilginc]