Listbox taki verileri textboxlara da yazsın.

Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhabalar

Listbox1 de alt alta sıralanmış verilerim var, bu veriler source kaynağına göre artabiliyor ve azalabiliyor. listboxa gelen verilerin aynı anda bir başka user formda alt alta sıraladığım textbox1 textbox2 textbox3 textbox4 a sırasıyla aktarmasını istiyorum.
yardım edebileceğiniz bir kod biliyor musunuz?

Teşekkürler..
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Listbox1 verileri sayfa3 a1:a5 arası alıyor

Private Sub UserForm_Activate()
ListBox1.RowSource = "sayfa3!a1:a5"
On Error Resume Next
For i = 1 To ListBox1.ListCount
Controls("textbox" & i).Value = Sheets("sayfa3").Cells(i, 1).Value
Next
End Sub
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
Sn Zafer,

Olayı ben yanlış anlattım buyuk ihtimalle. özür dilerim. şimdi örnek dosyayı yollayım. örnek dosyadaki list 1 de secilen stokları sipgir userformundaki ürün adı altındaki textboxlara alt alta sırasıyla aktarmak istiyorum..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki şekilde deneyin.

[vb:1:52291b9c1d]For a = 0 To ListBox1.ListCount - 1
Sipgir.Controls("textbox" & a * 6 + 17) = ListBox1.List(a, 0)
Next
[/vb:1:52291b9c1d]
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
userform_activate altına yazdım bu kodu, ilk satırda hata verdi sayın leventm. error 424
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızda treeview den listbox1'e verilerinizi aktardığınızı gördüm. Dolayısıyla bu kodu, verileri aktardıktan sonra bir butona bağlamanız gerekir. Eğer açılışta listbox1 boş ise hata verecektir.
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Leventm,

Þimdi oldu, olay çözüldü. dediğiniz gibi userform 1 deki teklif adlı command buttona kodları girdim ve gördüm ki istediğim olay oluyor.
:bravo: :bravo: :bravo:
Sonsuz teşekkürler :hey:
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
sn. leventm
yaptığımız kodlar alt alta 13 textbox cok guzel çalışıyor. ancak en alttaki textboxa gelince sırayı şaşırıyor ve userformdaki paketleme kolonunun altındaki textboxlardan 5 cisine veriyi atıyor:)
14 textbox yerine 13 adette kullanırım sorun değil ama 13 adetten fazla seçim engelini listbox1 de nasıl yapacağız?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bunun sebebi şu kodun düzgün çalışması için textbox isimlerinin 6'şar atlayarak devam etmesi gerekir. textbox17,textbox23 gibi son textbox bu kurala uymuyor, bunun adınıda textbox95 yaparsanız sorun kalmaz.
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
dediğiniz düzeltmeyi yaptım teşekkürler 17+6 kodunu görmemişim:) ancak mutlaka listbox1 e 14 den fazla secim yaptırmamamız gerekiyor. 6 nın katları textbox olmasa bile 14 adetten fazla secim yaptığımızda hata veryor..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki gibi değiştirin.

[vb:1:963c27d85f]For a = 0 To ListBox1.ListCount - 1
if a>14 then exit for
Sipgir.Controls("textbox" & a * 6 + 17) = ListBox1.List(a, 0)
Next
[/vb:1:963c27d85f]
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
kodu değiştirdim ama hicbir değişiklik olmadı eski kodları kullanıyorum gibi 14 den fazla secimde yine hata verdi. hata satırı:

Sipgir.Controls("textbox" & a * 6 + 17) = ListBox1.List(a, 0)
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
If a>14 Then Exit For

yukarıdaki satırı aşağıdaki gibi değiştirin.

If a>13 Then Exit For
 
Katılım
21 Mayıs 2005
Mesajlar
90
Excel Vers. ve Dili
Excel 2007 Türkçe
Tamamdır:) Teşekkürler :hey: :hey: :bravo: :bravo:
 
Üst