• DİKKAT

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

Userformda bağlı textbox

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,490
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar ve sayın hocalarımız, öncelikle başlık uygun olmuştur umarım.
Bir dosya hazırlamak istiyorum, küçük bir örnek dosya hazırladım.
ComboBox ile mehmet işaretleyince. Sağ textboxlara Sayfa1'deki tabloda olan, Mehmet bilgileri gelecek. Bunu nasıl sağlayabilirim.
Ayrıca sormuş olayım. Ben combobox olayını Sayfa1!A1:A3 şeklinde yapıyorum. İsim eklediğim zaman gözükmeyecek. Fazla yapsam açılır pencerede boş alan gözükecek. Bu nasıl sağlanıyor.
Şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba
Kod:
Private Sub ComboBox1_Change()
Dim ss As Worksheet
Set ss = Worksheets("Sayfa1")
TextBox2.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 2, 0)
TextBox3.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 3, 0)
End Sub
 
Merhaba
Kod:
Private Sub ComboBox1_Change()
Dim ss As Worksheet
Set ss = Worksheets("Sayfa1")
TextBox2.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 2, 0)
TextBox3.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 3, 0)
End Sub
Hocam hemen deniyorum.
 
Merhaba,

Alternatif.
Kod:
Private Sub ComboBox1_Change()
    Dim sat As Long
    sat = ComboBox1.ListIndex + 1
    TextBox2.Text = Cells(sat, "B")
    TextBox3.Text = Cells(sat, "C")
End Sub

2. sorunuzu anlayamadım.
 
@BAZGİRET hocam. Çok teşekkür ederim. Hocam, dediğim gibi benim dosyam biraz daha büyük.

TextBox2.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 2, 0)

Burada, değişkenler. Mesela TextBox7 için M sütunundaki değer gelecekse. 3 değil de 5 sıra varsa (A1,A2,A3,A4,A5)

TextBox7.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:M" & ss.Range("B65536").End(3).Row), 2, 0)
Kırmızı bölge ne olur. Anlamak için soruyorum hocam.
Tekrar teşekkür ederim.
 
İkinci soru gözden kaçmış. Şunu deneyin.
Kod:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A1:A" & Range("A65536").End(3).Row
End Sub
 
Merhaba,

Alternatif.
Kod:
Private Sub ComboBox1_Change()
    Dim sat As Long
    sat = ComboBox1.ListIndex + 1
    TextBox2.Text = Cells(sat, "B")
    TextBox3.Text = Cells(sat, "C")
End Sub

2. sorunuzu anlayamadım.

Hocam, öncelikle teşekkür ederim. İkinci sorum. Listenin altına "MURAT GÜNAY" eklersem, ComboBox'ta nasıl gözükür. Mutlaka RowSource'ce gidip A1:A4 mü yapmam lazım.
Hocam, sizin kodu uyarlamak daha kolay sanki. Mesela TextBox4 koydum. D sütununda, "Cinsiyet" olsun.

Dim sat As Long
sat = ComboBox1.ListIndex + 1
TextBox2.Text = Cells(sat, "B")
TextBox3.Text = Cells(sat, "C")
TextBox4.Text = Cells(sat, "D")
End Sub

Şeklinde olacak değil mi.
 
İkinci soru gözden kaçmış. Şunu deneyin.
Kod:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A1:A" & Range("A65536").End(3).Row
End Sub
Hocam, deniyorum. Ancak içeriğe yazdığımı silecek miyim. Duracak mı.
Teşekkür ederim.
 
@BAZGİRET hocam. Çok teşekkür ederim. Hocam, dediğim gibi benim dosyam biraz daha büyük.

TextBox2.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:C" & ss.Range("B65536").End(3).Row), 2, 0)

Burada, değişkenler. Mesela TextBox7 için M sütunundaki değer gelecekse. 3 değil de 5 sıra varsa (A1,A2,A3,A4,A5)

TextBox7.Value = WorksheetFunction.VLookup(ComboBox1.Value, ss.Range("A1:M" & ss.Range("B65536").End(3).Row), 2, 0)
Kırmızı bölge ne olur. Anlamak için soruyorum hocam.
Tekrar teşekkür ederim.
Düşey ara formülü vba olarak düzenlendi. 2 sayısı verinin arandığı sütun sayısını verir. Verinin aranacağı sütun sayısını yazınca istediğinizi verecektir.
 
Hocam, öncelikle teşekkür ederim. İkinci sorum. Listenin altına "MURAT GÜNAY" eklersem, ComboBox'ta nasıl gözükür. Mutlaka RowSource'ce gidip A1:A4 mü yapmam lazım.
Hocam, sizin kodu uyarlamak daha kolay sanki. Mesela TextBox4 koydum. D sütununda, "Cinsiyet" olsun.

Dim sat As Long
sat = ComboBox1.ListIndex + 1
TextBox2.Text = Cells(sat, "B")
TextBox3.Text = Cells(sat, "C")
TextBox4.Text = Cells(sat, "D")
End Sub

Şeklinde olacak değil mi.

Doğrudur.
 
Tamamdır hocam, hatta başlık satırı koydum ve sat = ComboBox1.ListIndex + 1 (2 yaptım, ikinci satırdan başlıyor.)
Hocam, bu konuyla ilgisiz ama başlığa label içinde sade yıl yazmam gerekiyor. Ben ne zaman yazsam, ya dosya bozuluyor, ya kilitleniyor. Neden yapamıyorum bilmiyorum. Yani önümüzdeki yıl 2022 olacak. Labelda 2021 YILI ÇİZELGESİ yazabilir misiniz. Size zahmet olacak ama.
 
Label4 düşünerek;
Kod:
Private Sub UserForm_Initialize()
    Label4 = Year(Date) & " YILI ÇİZELGESİ"
End Sub

İstediğiniz bu mu?
 
Label4 düşünerek;
Kod:
Private Sub UserForm_Initialize()
    Label4 = Year(Date) & " YILI ÇİZELGESİ"
End Sub

İstediğiniz bu mu?

Hocam
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A2:A" & Range("A65536").End(3).Row
End Sub

Diye kod var, başlık mükerrer olacak.

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A2:A" & Range("A65536").End(3).Row
Label4 = Year(Date) & " YILI ÇİZELGESİ"

End Sub

Şeklinde olacak değil mi.
 
İkinci soru gözden kaçmış. Şunu deneyin.
Kod:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sayfa1!A1:A" & Range("A65536").End(3).Row
End Sub
Hocam, çok elzem değil ama, sayfada eklediğimi; kapatıp açınca combobox'da görüyor. Doğrudur değil mi.
 
Geri
Üst