[ÇÖZÜLDÜ] ListView'den Text ve Combobox Kutularına Nasıl Veri Aktarabilirim?

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Arkadaşlar öncelikle herkese selam;
Forumda, sorunumla ilgili araştırma yaptım ama tam istediğim bir sonucu bulamadım, yada buldum ben uygulayamadım. Bu yüzden tekrar konu açmak durumunda kaldım bu yüzden yönetici arkadaşlardan özür dilerim.
Gelelim sorunuma kendimize göre çalıştığım yerde Personel Kütük Defteri programı hazırlamaya çalışorum. Ancak; bir sorunla karşılaştım ve bu aşamadım, bu yüzden sizlerden de yardım istiyorum. Programı yeni kayıt girildiğinde ListView'de bu kayıt gözüküyor ama kaydın üzerine çift tıklama yapılınca tekrar Combobox ve Text kutularına getiremiyorum. Bu sorunun çözümünü bilen ve yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.

Herkese saygılar.
Not: Sorunumla ilgili resmi de ekledim. :(

 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Selamlar

Resim değilde dosyanızı eklerseniz.. Textbox isimleri bilinmeli ki doğru yere gönderilsin..
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Ok. Dosyayı ekledim.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Aynı şekilde devam ettirirsiniz..

Kod:
Private Sub ListView1_DblClick()

With ListView1
    Me.adi = .ListItems(.SelectedItem.Index).SubItems([COLOR=Red][B]1[/B][/COLOR])
                '. 
End With

End Sub
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Selamlar

Alternatif olarak..

Kod:
Private Sub ListView1_DblClick()
  On Error Resume Next
  If ListView1.ListItems.Count = 0 Then Exit Sub
    X = ListView1.SelectedItem.Index
    adi.Text = ListView1.ListItems(X).ListSubItems(1).Text
    baba.Text = ListView1.ListItems(X).ListSubItems(2).Text
    ana.Text = ListView1.ListItems(X).ListSubItems(3).Text
    dyeri.Text = ListView1.ListItems(X).ListSubItems(4).Text
    tarih.Text = ListView1.ListItems(X).ListSubItems(5).Text
    tc.Text = ListView1.ListItems(X).ListSubItems(6).Text
    vergi.Text = ListView1.ListItems(X).ListSubItems(7).Text
    emekli.Text = ListView1.ListItems(X).ListSubItems(8).Text
    sicil.Text = ListView1.ListItems(X).ListSubItems(9).Text
    arsiv.Text = ListView1.ListItems(X).ListSubItems(10).Text
    mezun.Text = ListView1.ListItems(X).ListSubItems(11).Text
' diğerlerini ilave edebilirsiniz.

End Sub
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Aynı şekilde devam ettirirsiniz..

Kod:
Private Sub ListView1_DblClick()

With ListView1
    Me.adi = .ListItems(.SelectedItem.Index).SubItems([COLOR=Red][B]1[/B][/COLOR])
                '. 
End With

End Sub


Sayın Zeki Gürsoy
Öncelikle verdiğiniz cevap için çok teşekkür ederim. Verdiğiniz kod Textbox'larda sorunsuz çalıştı ama Combobox'larda yukarıda örnek resmini eklediğim hata mesajını verdi. Bu sorunu nasıl aşabilirim?

Yardımlarınız için şimdiden teşekkür ederim. :(
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Tamam şuan sorun çözüldü. ListView'e kaydederken "Medeni Hali" bölümünü tanımlamayı unutmuşum. Şimdi sorunsuz kaydetti ve tekrar geri alabildi.
Yardımlarınız için hepinize çok teşekkür ederim.

Not: Program tamamlanınca forumda paylaşmayı amaçlıyorum. :)
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Listede Combo ile ilgili sütun göremedim. Listededeki elemanın değeri/metni combodaki eleman ile eşit olabilmeli.
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
ListView'e 20'den fazla sütun nasıl ekleyebilirim??
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Selamlar

Belirtilen yerlerden devam ediniz..
Kod:
Private Sub UserForm_Initialize()
Dim Bul As Integer
ListView1.View = lvwReport
With ListView1.ColumnHeaders
    .Add , , "S.No", 28
    .Add , , "Adı ve Soyadı", 70
    .Add , , "Baba Adı", 45
    .Add , , "Ana Adı", 45
    .Add , , "Doğum Yeri", 50
    .Add , , "Doğ.Tarihi"
    .Add , , "T.C. Kimlik No"
    .Add , , "Vergi Kimlik No"
    .Add , , "Emekli Sicil No"
    .Add , , "Kurum Sicil No"
    .Add , , "Arşiv No"
    .Add , , "Mezun Olduğu Okul"

[color=red]' buradan devam ediniz.. [/color]

End With
With ListView1
For i = 1 To WorksheetFunction.Count(Range("A3:A65536")) + 2
    .ListItems.Add , , Cells(i, 1)
    .ListItems(i).SubItems(1) = Cells(i, 2)
    .ListItems(i).SubItems(2) = Cells(i, 3)
    .ListItems(i).SubItems(3) = Cells(i, 4)
    .ListItems(i).SubItems(4) = Cells(i, 5)
    .ListItems(i).SubItems(5) = Cells(i, 6)
    .ListItems(i).SubItems(6) = Cells(i, 7)
    .ListItems(i).SubItems(7) = Cells(i, 8)
    .ListItems(i).SubItems(8) = Cells(i, 9)
    .ListItems(i).SubItems(9) = Cells(i, 10)
    .ListItems(i).SubItems(10) = Cells(i, 11)
    .ListItems(i).SubItems(11) = Cells(i, 12)

[color=red]' buradan arttırarak devam ediniz..[/color]
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025


Bana gerekli olduğu kadar sütun ekledim ancak formu çalıştırmak istediğimde yukarıdaki resimde olduğu gibi hata alıyorum. 20 sütuna kadar problem olmuyor ancak; 20'den sonra form çalışmıyor.

Teşekkür ederim.
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Selamlar

Bende çalışıyor 22 adet denedim... Eksik yazmış olabilirsiniz, hata işaretlediği satıra bakın veya son halini ekleyiniz..
 
Son düzenleme:

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025


Arkadaşlar bu hatayı nasıl aşacağım bir türlü başaramadım yardımlarınızı bekliyorum. :(
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Kod:
Private Sub Liste_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[COLOR=DarkGreen]'For a = 0 To 2
'Controls("textbox" & a + 1) = Liste.Column(a)
'Next[/COLOR]
[COLOR=Blue]adi = Liste.Column(1)
ana = Liste.Column(3)
baba = Liste.Column(2)[/COLOR]
Range("A2:I" & [a65536].End(3).Row).Interior.ColorIndex = 0
sat = Liste.ListIndex + 2
Range("A" & sat & ":I" & sat).Interior.ColorIndex = 0
End Sub
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Kod:
Private Sub Liste_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[COLOR=DarkGreen]'For a = 0 To 2
'Controls("textbox" & a + 1) = Liste.Column(a)
'Next[/COLOR]
[COLOR=Blue]adi = Liste.Column(1)
ana = Liste.Column(3)
baba = Liste.Column(2)[/COLOR]
Range("A2:I" & [a65536].End(3).Row).Interior.ColorIndex = 0
sat = Liste.ListIndex + 2
Range("A" & sat & ":I" & sat).Interior.ColorIndex = 0
End Sub
Harikasınız. Çok teşekkür ediyorum. :)
İnşallah bu iyiliklerinizin karşılığını bir öderim. :)
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Kod:
Private Sub Liste_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[COLOR=DarkGreen]'For a = 0 To 2
'Controls("textbox" & a + 1) = Liste.Column(a)
'Next[/COLOR]
[COLOR=Blue]adi = Liste.Column(1)
ana = Liste.Column(3)
baba = Liste.Column(2)[/COLOR]
Range("A2:I" & [a65536].End(3).Row).Interior.ColorIndex = 0
sat = Liste.ListIndex + 2
Range("A" & sat & ":I" & sat).Interior.ColorIndex = 0
End Sub


Sayın Zeki Bey;
Sizi tekrar rahatsız ediyorum ama bu "Controls" deyimiyle başım dertte :(
Eğer kodun başına ' işareti koyarsam hata vermiyor ama bu seferde kod istediğim gibi çalışmıyor. Acaba hatam nerede yine?
Tekrar yardımlarınızı bekliyorum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Formunuzda "TextBox?" isminde textbox nesnleri olmadığı için hata alıyorsunuz.
Textboxları "ana", "baba" "adı" vs. şeklinde isimlendirmişsiniz.

Bunları "TypeName" fonksiyonuyla kontrol etmek yerine tek tek elle yazın. Topu topu 4 textbox zaten. ;)
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Aslında 4 tane değil tam 27 tane Text Kutusu var bu yüzden daha kısa yoldan kontrol etmek için bu yönteme başvurdum ama sanırım başka çarem yok. Hepsini tek tek kontrol ettirmem gerekecek.

Aslında tek kodla kontrol etmemdeki düşüncem oradaki boş bulunan Text kutusuna focuslanma özelliği, yani boş olan kutuyu otomatik kendisinin bulup, orada durması. :)
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Şöyle de yapablirsiniz.

Kod:
Dim c As Control

For Each c In Me.Controls
    If TypeOf c Is MSForms.TextBox Then
        If c = "" Then MsgBox "Boş geçemezsiniz": c.SetFocus: Exit Sub
    End If
Next
'Sonraki satırlar..
Ya da;

Kod:
Dim c As Control

For Each c In Me.Controls
    If TypeName(c) = "TextBox" Then
        If c = "" Then MsgBox "Boş geçemezsiniz": c.SetFocus: Exit Sub
    End If
Next
'Sonraki satırlar..
 
Son düzenleme:

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
279
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Çok teşekkür ediyorum. Bugün size epey zahmet verdim. :)
Kodlar işimi gördü. Başım sıkışırsa tekrar yazarım. :)

Saygılar
 
Üst