• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfa Üzerine Listview eklemek

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Merhaba Arkadaşlar,

Ben userform üzerine değil de Sayfa üzerine eklemek istiyorum.
Sayfa üzerine listview1 nesnesini ekleyip o sayfanın kod bölümüne sayfanın activate yordamının altına şu aşağıdaki kodları yazıyorum
Kod:
Private Sub Worksheet_Activate()

ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.Gridlines = True

With ListView1.ColumnHeaders
.Add , , "Tarih"
.Add , , "proje kodu"
.Add , , "malzemenin kodu"
End With

End Sub

Fakat önce hata veriyor ama sonra her o sayfaya geçtiğimde listview başlıkalrını her seferinde tekrardan ekliyor örnek dosyayı yolluıyorum. Ben kodları yanlış bir yere mi yazıyorum? Yardımcı olursanız sevinirim
 

Ekli dosyalar

Listview kolon adlarının alınması ile ilgili sorunu aşağıdaki kod ile düzelttim.

Kod:
Private Sub Worksheet_Activate()

ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.Gridlines = True

ListView1.ColumnHeaders.Clear

With ListView1.ColumnHeaders
.Add , , "Tarih"
.Add , , "proje kodu"
.Add , , "malzemenin kodu"
End With

Call listele
End Sub

Ancak listview1 nesnesine sayfada ki verileri eklemek için aşağıda ki "listele" adlı modüle yazdığım kodları kullandım.
Kod:
Sub listele()

Dim i  As Long, sat As Long, Sh As Worksheet, deg As String, X As Long

Set s1 = Sheets("Sayfa1")
sat = s1.Cells(65536, "A").End(xlUp).Row
ListView1.ListItems.Clear
With ListView1
    For i = 3 To sat
    X = X + 1
     For a = 1 To 3
        ListView1.ListItems.Add , , i
        
        ListView1.ListItems(X).SubItems(a) = s1.Cells(i, a).Value
       
       
       Next
           
           
         
            Next
End With
End Sub

Ancak bu defa listwiew1 nesnesine verileri eklemeye çalışırken listele adlı modülde yazan kod satırından aşağıda ki satırı işaretleyip hata veriyor
Kod:
ListView1.ListItems.Clear

Sayfa üzerinde ki listview nesnesine verileri nasıl aldırabilirim.

SAYGILARIMLA
 

Ekli dosyalar

Modül1 deki kod

Kod:
Sub listele()
Dim i  As Long, sat As Long, Sh As Worksheet, X As Long
Set s1 = Sheets("Sayfa1")
sat = s1.Cells(65536, "A").End(xlUp).Row
Sheets("Sayfa1").ListView1.ListItems.Clear
With Sheets("Sayfa1").ListView1
For i = 3 To sat
X = X + 1
.ListItems.Add , , s1.Cells(i, 1).Value
For a = 1 To 2
.ListItems(X).SubItems(a) = s1.Cells(i, a[COLOR=red]+1[/COLOR]).Value
Next
Next
End With
End Sub

Sayfadaki kod

Kod:
Private Sub Worksheet_Activate()
ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.Gridlines = True
ListView1.ColumnHeaders.Clear
With ListView1.ColumnHeaders
.Add , , "Tarih"
.Add , , "proje kodu"
.Add , , "malzemenin kodu"
End With
Call listele
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
listele
End Sub
 
Halit hocam öncelikle ilgilendiğiniz için teşekkür ederim.

Kodları denediğimde listview e yanlış alıyor gönderdiğim örnek dosya üzerinden denerseniz ne demek istediğimi daha iyi anlayabilirsinzi hocam.

Rica etsem tekrar bakabilir misiniz?
 
Yukarıdaki mesajdaki koda kırmızı yeri ilave ettim,
 
hocam ellerinize sağlık
 
Geri
Üst