Comboxa da textboxa veri aktarma

Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
Comboxdan seçtiğim isimlerin sırasıyla texboxlara aktarılmasını istiyorum kullandığım formül seçtiğim ismi sürekli aynı texboxun üzerine yazıyor acaba atladığım biyermi var

Private Sub ComboBox1_Click
TexBox1=ComboBox.Column (0)
TexBox2=ComboBox.Column (1)
TexBox3=ComboBox.Column (2)
End Sub

Private Sub UserForm_Activete()
With.UserForm.ComboBox1
.Addıtem"AHMET"
.Addıtem"HAKAN"
.Addıtem"YUSUF"
End With
End Sub

kullandığım formül bu
 

hakanbent

Altın Üye
Katılım
31 Ağustos 2006
Mesajlar
37
Excel Vers. ve Dili
excel 11- türkçe
Altın Üyelik Bitiş Tarihi
29-09-2027
Sayın Puma22;

Kod:
Private Sub ComboBox1_Click()
TextBox1.Text = ComboBox1.Value
End Sub

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A1:A200"
End Sub
kodlarını kendinize uyarlarsanız. Umarım sorunuzun cevabı olur.

Saygılarımla.
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
HakanBey ben soruyu tam anlatamadım sanırm benim elimde bir tablo var ve comboBox bölümene yaklaşık 10 tane isim girdim ve bu isimlerden istediklerimi 5adet texboxlara aktarmak istiyorum
 
Katılım
3 Şubat 2005
Mesajlar
216
Excel Vers. ve Dili
Microsoft Excel 2003 Türkçe
HakanBey ben soruyu tam anlatamadım sanırm benim elimde bir tablo var ve comboBox bölümene yaklaşık 10 tane isim girdim ve bu isimlerden istediklerimi 5adet texboxlara aktarmak istiyorum
Comboboxtan her tıkladığınız veri ayrı Textbox'lara mı gidecek?
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
hayır ilk texbox3 se birsonraki texbox4 de bir sonraki .....10 tane texbox var çünkü
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
örnek tablo sundum isimler çok fazla ben sadece 3 tane yazdım textbox ise 5 adet ben istediğim 5 kişiyi buralara aktarmak istiyorum
 
Son düzenleme:
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
Sanırım sorumu tam anlatamadım ilgilenen varsa açıklama yapabilirim
 

hakanbent

Altın Üye
Katılım
31 Ağustos 2006
Mesajlar
37
Excel Vers. ve Dili
excel 11- türkçe
Altın Üyelik Bitiş Tarihi
29-09-2027
Sayın Puma22;

Sorunuzu anladığımı sanıyorum. A1 hücresinden başlayarak verilerin olduğunu varsayarak aşağıdak kodları ürettim.
Kod:
Private Sub UserForm_Initialize()
Dim e As Variant
If Range("A1") = "" Then
 say = WorksheetFunction.CountA(Range("A1:A200"))
      ComboBox1.RowSource = "A1:A2000" & say + 1
    Else
      say = WorksheetFunction.CountA(Range("A1:A200"))
      ComboBox1.RowSource = "A1:A2000" & say
    End If
End Sub
Private Sub ComboBox1_Click()
    Dim bak As Range
    For Each bak In Range("A1:A200" & WorksheetFunction.CountA(Range("A1:A200")))
        If bak.Value = ComboBox1.Value Then
            bak.Select
            TextBox1.Value = Cells(1, 1).Value
            TextBox2.Value = Cells(2, 1).Value
            TextBox3.Value = Cells(3, 1).Value
            TextBox4.Value = Cells(4, 1).Value
            TextBox5.Value = Cells(5, 1).Value
            Exit Sub
        End If
    Next bak
End Sub
Bir de bu kodları deneyin. Eğer bu kodlar istediğiniz işlemi görmüyor ise, lütfen madde, madde istediklerinizi yazarsanız, size yardımcı olmaya çalışayım.

Saygılarımla.
 

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
Sn hakanbent

İzninizle önerdiğiniz kodda bazı mantık ve yazım hataları var onları düzeltelim.

Kod:
[LEFT]Private Sub UserForm_Initialize()
Dim e As Variant
If Range("A1") = "" Then
 say = WorksheetFunction.CountA(Range("A1:A200"))
      ComboBox1.RowSource = "A1:A2000" & say + 1
    Else
      say = WorksheetFunction.CountA(Range("A1:A200"))
      ComboBox1.RowSource = "A1:A2000" & say
    End If
End Sub
Yukarıdaki kodda Combobox1.Rowsource="A1:A" & say+1 olmalı
ayrıca elseden sonrasına gerek yok.

Kod:
Private Sub ComboBox1_Click()
    Dim bak As Range
    For Each bak In Range("A1:A200" & WorksheetFunction.CountA(Range("A1:A200")))
        If bak.Value = ComboBox1.Value Then
            bak.Select
            TextBox1.Value = Cells(1, 1).Value
            TextBox2.Value = Cells(2, 1).Value
            TextBox3.Value = Cells(3, 1).Value
            TextBox4.Value = Cells(4, 1).Value
            TextBox5.Value = Cells(5, 1).Value
            Exit Sub
        End If
    Next bak
End Sub[/LEFT]
Yukarıdaki koddada bir önerim olacak. Eğer verileri comboboxa sayfadaki sırası ile alıyorsanık ki rowsource özelliğini kullandığınıza göre böyle alıyorsunuz, bu durumda döngü kullanmaya gerek yoktur. Satır değeri olarak comboboxın listindex değeri kullanılabilir. Örneğin,

Kod:
Private Sub ComboBox1_Click()
sat= ComboBox1.listindex+1
TextBox1.Value = Cells(sat, 1).Value
TextBox2.Value = Cells(sat, 2).Value
TextBox3.Value = Cells(sat, 3).Value
TextBox4.Value = Cells(sat, 4).Value
TextBox5.Value = Cells(sat, 5).Value
End Sub
 

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
Comboxdan seçtiğim isimlerin sırasıyla texboxlara aktarılmasını istiyorum kullandığım formül seçtiğim ismi sürekli aynı texboxun üzerine yazıyor acaba atladığım biyermi var

Private Sub ComboBox1_Click
TexBox1=ComboBox.Column (0)
TexBox2=ComboBox.Column (1)
TexBox3=ComboBox.Column (2)
End Sub

Private Sub UserForm_Activete()
With.UserForm.ComboBox1
.Addıtem"AHMET"
.Addıtem"HAKAN"
.Addıtem"YUSUF"
End With
End Sub

kullandığım formül bu
Yazdığınız kodlarda mantık hatası var. Yapmak istediğiniz comboboxtan çoklu seçim yaparak tüm seçtiklerinizi textboxlara aktarmakmı? eğer öyle ise comboboxta çoklu seçim yapamazsınız bunun yerine listbox kullanabilirsiniz.
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
Çoklu seçim ile neyi kasdetdiniz anlamadım ama yapmak istediğim comboboxdan istediklerimi tek tek seçerek textboxlara atmak yani ilk seçtiğim textbox1 gitdiyse ikinci seçtiğim textbox2 ye gitmesi
 
Son düzenleme:

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
Çoklu seçim ile neyi kasdetdiniz anlamadım ama yapmak istediğim comboboxdan istediklerimi tek tek seçerek textboxlara atmak yani ilk seçtiğim textbox1 gitdiyse ikinci seçtiğim textbox2 ye gitmesi
Bu durumda aşağıdaki kodu deneyin.

Kod:
Private Sub ComboBox1_Click
for a=1 to 3
if controls("TextBox" & a)="" then controls("TextBox" & a)=ComboBox1
next
End Sub
 

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 yeniledim, bir harf eksikti onu ilave ettim. (TexBox değil TextBox olacaktı)
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
Sn Leventbey ben t harfini eklemiştim önceden ,kod içindeki controls mavi oluyor çalıştırınca
 

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
Yukarıdaki kodu yeniledim tekrar denermisiniz.
 

hakanbent

Altın Üye
Katılım
31 Ağustos 2006
Mesajlar
37
Excel Vers. ve Dili
excel 11- türkçe
Altın Üyelik Bitiş Tarihi
29-09-2027
Sayın LeventM Hocam;

Yazdığım kodlardaki hataları düzelltiğiniz için çok teşekkür ederim. Gerçi VBA konusunda çok iyi değilim. Sitemizde bulunan bazı örnekleri inceleyerek yardım etmeye çalıştım. Anlayışınız için tekrar teşekkür ederim. Puma22 arkadaşım da umarım anlayış ile karşılar.

En derin Saygılarımla.
 
Katılım
24 Ekim 2006
Mesajlar
130
Excel Vers. ve Dili
2003
Arkadaşlar biraz araştırma yaptım ComboBoxdan olmuyomuş ListBox kullanmak gerekiyormuş herkese teşekkür ederim
 
Üst