Listbox -- Listview Hk.

Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
Private Sub CommandButton1_Click()
Sheets("sayfa1").Select
On Error Resume Next
If TextBox1.Text = "" Then
MsgBox " ... Başlangıç tarihi boş olamaz ..."
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Text = "" Then
MsgBox " ... Bitiş tarihi boş olamaz ..."
TextBox2.SetFocus
Exit Sub
End If
bastar = CDate(TextBox1.Text)
bittar = CDate(TextBox2.Text)

MsgBox bastar & " - " & bittar & " arası dökümler listelenmektedir."


ListBox1.Clear
ListBox1.ColumnCount = 15
a = 0
For x = 2 To [p65536].End(3).Row
If Cells(x, 16) = 16 - 1 Then
End If
If CDate(Cells(x, 16)) >= bastar And CDate(Cells(x, 16)) <= bittar Then
ListBox1.AddItem
For y = 0 To 16

ListBox1.List(a, y) = Cells(x, y + 1)
If y = 16 - 1 Then ListBox1.List(a, y) = Format(Cells(x, y + 1))
Next

a = a + 1

End If
Next

End Sub

Listboxda 10 sütun aldığı için listviewe geçtim. fakat listboxdaki süzen komutu Listview'e çeviremedim. Yardımlarınızı bekliyorum.Aynı işlemi Listview de nasıl yapabiliriz. Şimdiden Teşekkürler...:yardim:
 
Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
Private Sub CommandButton1_Click()
Sheets("sayfa1").Select
On Error Resume Next
If TextBox1.Text = "" Then
MsgBox " ... Başlangıç tarihi boş olamaz ..."
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Text = "" Then
MsgBox " ... Bitiş tarihi boş olamaz ..."
TextBox2.SetFocus
Exit Sub
End If
bastar = CDate(TextBox1.Text)
bittar = CDate(TextBox2.Text)

MsgBox bastar & " - " & bittar & " arası dökümler listelenmektedir."


ListBox1.Clear
ListBox1.ColumnCount = 15
a = 0
For x = 2 To [p65536].End(3).Row
If Cells(x, 16) = 16 - 1 Then
End If
If CDate(Cells(x, 16)) >= bastar And CDate(Cells(x, 16)) <= bittar Then
ListBox1.AddItem
For y = 0 To 16

ListBox1.List(a, y) = Cells(x, y + 1)
If y = 16 - 1 Then ListBox1.List(a, y) = Format(Cells(x, y + 1))
Next

a = a + 1

End If
Next

End Sub

Listboxda 10 sütun aldığı için listviewe geçtim. fakat listboxdaki süzen komutu Listview'e çeviremedim. Yardımlarınızı bekliyorum.Aynı işlemi Listview de nasıl yapabiliriz. Şimdiden Teşekkürler...:yardim:
Yardım edecek hiç kimse yokmuuuuuuuuuuuuuuuuu??? Lütfennnnnnnnnnnnnnnnnn:yardim: :yardim: :yardim: :yardim: :yardim:
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
aynı mantıkla yapabilirsiniz, örnek dosya eklerseniz yardımcı olmaya çalışalım.
 
Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
aynı mantıkla yapabilirsiniz, örnek dosya eklerseniz yardımcı olmaya çalışalım.
listbox u listview e dönüştüremedim. dosya ektedir.
listbox örneği içinde olup aynı işlemi listviewde de yapması gerekmektedir.
ilginize ve emeğinize şimdiden teşekkürler...
 
Katılım
22 Temmuz 2006
Mesajlar
186
Excel Vers. ve Dili
2003
listview

listview nesnesi listboxtan çok farklıdır.

Size örnek bir çalışma ekliyorum, iftar vakti çok fazla kafam çalışmıyor ama bir incelerseniz işinize yarayacaktır. . .

Olmazsa tok karınla size yardımcı olmaya çalışırım . .
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Say&#305;n Kaptan da &#246;rnek bir &#231;al&#305;&#351;ma sunmu&#351; ger&#231;i ama ben sizin liste kutusu i&#231;in haz&#305;rlam&#305;&#351; oldu&#287;unuz kodlar&#305; de&#287;i&#351;tirdim biraz. &#304;ncelerseniz, nerelerin de&#287;i&#351;ti&#287;ini ve nerelere ilaveler yapt&#305;&#287;&#305;m&#305; g&#246;rebilirsiniz. Umar&#305;m faydal&#305; olur. &#304;yi &#231;al&#305;&#351;malar dilerim.

Kod:
Private Sub CommandButton1_Click()
Sheets("sayfa1").Select
On Error Resume Next
 
[COLOR=red]'________________________[/COLOR]
[COLOR=red]ListView1.View = lvwReport[/COLOR]
[COLOR=red]ListView1.FullRowSelect = True[/COLOR]
[COLOR=red]ListView1.ColumnHeaders.Clear[/COLOR]
[COLOR=red]For a = 1 To 15[/COLOR]
[COLOR=red]ListView1.ColumnHeaders.Add , , Sheets("sayfa1").Cells(1, a)[/COLOR]
[COLOR=red]Next[/COLOR]
[COLOR=red]'________________________[/COLOR]
 
 
 If TextBox1.Text = "" Then
                MsgBox " ... Ba&#351;lang&#305;&#231; tarihi bo&#351; olamaz ..."
                    TextBox1.SetFocus
                        Exit Sub
                    ElseIf TextBox2.Text = "" Then
                MsgBox " ... Biti&#351; tarihi bo&#351; olamaz ..."
                    TextBox2.SetFocus
                        Exit Sub
            End If
            bastar = CDate(TextBox1.Text)
            bittar = CDate(TextBox2.Text)
 
           MsgBox bastar & " - " & bittar & " aras&#305; d&#246;k&#252;mler listelenmektedir."
 
ListView1.ListItems.Clear [COLOR=lime]'ListBox1.Clear[/COLOR]
[COLOR=lime]'ListBox1.ColumnCount = 15[/COLOR]
a = 0
For x = 2 To [p65536].End(3).Row
    If Cells(x, 16) = 16 - 1 Then
End If
        If CDate(Cells(x, 16)) >= bastar And CDate(Cells(x, 16)) <= bittar Then
        a = a + 1
         [COLOR=red]ListView1.ListItems.Add , , Sheets("sayfa1").Cells(x, 1) 'ListBox1.AddItem[/COLOR]
[COLOR=red]         For b = 2 To 16[/COLOR]
[COLOR=red]         ListView1.ListItems(a).SubItems(b-1) = Sheets("sayfa1").Cells(x, b)[/COLOR]
[COLOR=red]         Next[/COLOR]
         [COLOR=lime]'For y = 0 To 16[/COLOR]
[COLOR=lime]          '  ListBox1.List(a, y) = Cells(x, y + 1)[/COLOR]
[COLOR=lime]           ' If y = 16 - 1 Then ListBox1.List(a, y) = Format(Cells(x, y + 1))[/COLOR]
[COLOR=lime]            'Next[/COLOR]
 
        End If
  Next
 
End Sub
 
Son düzenleme:

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
listview nesnesi listboxtan çok farklıdır.

Bence listview listboxtan çok da farklı değil. Bence; listview, listboxa göre çok daha kullanışlı bir listeleme nesnesi. Ben hemen hemen bütün çalışmalarımda listview nesnesini kullanıyorum. Artılarına örnek verecek olursak, sütun başlıklarına kod atayabiliriz. Mesela sütunları alfabe sırasına sokmak için, sütun başlığına tıklamak yeterli olabilir. Tabi ki, bütün düşüncelere saygımız sonsuzdur.
 
Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
sayın mesleki ve captan ikinize de teşekkürler ama;

captan üstadımın yaptığı olmuş fakat, 16.sütundaki tarihe göre süzmüyor. yani 16.sütun userformdan tarih formatında geliyor. listboxda tarih olarak kabul ediyor fakat aynı işlemi listview de tarih olarak kabul etmiyor nedense.

mesleki üstadımın kodunda da tarih formatı olarak alıyor fakat liste düzgün çıkmıyor, sadece 1. sütundakiler geliyor. dosya içerisine kodları kopyaladım fakat olmadı. Ekte dosyayı gönderiyorum...

yardımlarınızı bekliyorum. saygılarımla :yardim:
 
Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
sayın captanın dosyasına meslekinin dosyasındaki bir satırı kopyaladım problemsiz çalışıyor. fakat bir sorum daha olacak : listviewde istediğimiz sütunu alıp istemediğimiz sütunu almayan kod var mı acaba. yani 1.sütunu excelden alsın, 2.sütunu almasın, 3.sütunu alsın gibi. yardımlarınızı bekliyorum. teşekkürler...:yardim:
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
A&#351;a&#287;&#305;daki k&#305;s&#305;mda yer alan Cells (i,2) &#351;eklindeki ifadeler, listviewe al&#305;nan verileri g&#246;steriyor. Liste.SubItems(1) &#351;eklindeki ifadeler ise, listviewdeki s&#252;tunlar&#305; g&#246;steriyor; ancak burada &#351;unu belirtelim, listviewdeki ilk s&#252;tunun de&#287;eri s&#305;f&#305;rd&#305;r. Yani, Liste.SubItems(1) ifadesi, bizim listviewde g&#246;rd&#252;&#287;&#252;m&#252;z 2. s&#252;tunu ifade eder. Bunlardan hareketle, istedi&#287;iniz s&#252;tunlara istedi&#287;iniz verileri ekleyebilece&#287;inizi umuyorum.

Kod:
Set Liste = ListView1.ListItems.Add(, , Cells(i, 1))
            Liste.SubItems(1) = Cells(i, 2) [COLOR=red]'ikinci s&#252;tunu, yani B s&#252;tununu al&#305;r. i=2 ise,[/COLOR]
                                                     '[COLOR=#ff0000]buraya B2 h&#252;cresindeki de&#287;eri al&#305;r.[/COLOR]
 
            Liste.SubItems(2) = Cells(i, 3) [COLOR=red]'&#252;&#231;&#252;nc&#252; s&#252;tunu al&#305;r.[/COLOR]
            Liste.SubItems(3) = Cells(i, 4) [COLOR=red]'d&#246;rd&#252;nc&#252; s&#252;tunu al&#305;r.[/COLOR]
            Liste.SubItems(4) = Cells(i, 5) [COLOR=red]'...[/COLOR]
            Liste.SubItems(5) = Cells(i, 6)
            Liste.SubItems(6) = Cells(i, 7)
            Liste.SubItems(7) = Cells(i, 8)
            Liste.SubItems(8) = Cells(i, 9)
            Liste.SubItems(8) = Cells(i, 10)
            Liste.SubItems(8) = Cells(i, 11)
 
Son düzenleme:
Katılım
14 Kasım 2006
Mesajlar
197
Excel Vers. ve Dili
Excel 2003 TR
teşekkür ederim sayın mesleki. sanırım çözebilirim. çözemezsem tekrar yazarım. elleriniz dert görmesin.
 
Üst