• DİKKAT

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

ListBox taki İlçeler listesinden hangi İLÇE seçilirse onun sayfasına kayıt etmesi

Katılım
23 Aralık 2017
Mesajlar
48
Excel Vers. ve Dili
2016
Herkese kolay gelsin. hayırlı günler. Tek Bir kayıt formu üzerinde bulunan ListBox taki İlçeler listesinden hangi İLÇE seçilirse onun sayfasına kayıt etmesini sitiyorum. Yardımcı olursanız sevinirim.

Örnek indirme linki
https://www.dosyaupload.com/cq9P
 
Dosyanız açılışta rowsource hatası veriyor. Listboxa gelen verilerin alındığı sayfa dosyada yok.
 
Kodları revize ettim. Kontrol eder misiniz ?
Kod:
Private Sub CommandButton1_Click()
s = ComboBox1.Text
If TextBox1.Text <> "" Then
    Son_Dolu_Satir = Sheets(s).Range("A65536").End(xlUp).Row
    Bos_Satir = Son_Dolu_Satir + 1
    
    Sheets(s).Range("A" & Bos_Satir).Value = _
    Application.WorksheetFunction.Max(Sheets("Antakya").Range("A:A")) + 1
    Sheets(s).Range("B" & Bos_Satir).Value = TextBox1.Text
    Sheets(s).Range("C" & Bos_Satir).Value = TextBox2.Text
    Sheets(s).Range("D" & Bos_Satir).Value = TextBox3.Text
    Sheets(s).Range("E" & Bos_Satir).Value = TextBox4.Text
    Sheets(s).Range("F" & Bos_Satir).Value = ComboBox1.Text
    Sheets(s).Range("G" & Bos_Satir).Value = TextBox5.Text
    Sheets(s).Range("H" & Bos_Satir).Value = TextBox6.Text
    Sheets(s).Range("I" & Bos_Satir).Value = TextBox7.Text
    Sheets(s).Range("J" & Bos_Satir).Value = ComboBox2.Text
    
    
    Sheets(s).Select
    
   Else
   MsgBox "İsim Girmeniz gerekiyor"
   End If

MsgBox "Kayıt başarılı", vbApplicationModal, ""
Dim del As Control

For Each del In UserForm2.Controls

If TypeName(del) = "TextBox" Or TypeName(del) = "ComboBox" Then

del.Text = Empty

End If

Next del



Range("J2").Select
Selection.End(xlDown).Select
Range("U2").Value = ActiveCell.Offset(0, 0)


End Sub

Private Sub UserForm_Initialize()
Me.TextBox2.Locked = True 'Takvim harici veri girişini engellemek için

Me.TextBox9.Locked = True 'Takvim harici veri girişini engellemek için


ComboBox1.AddItem "Antakya"
ComboBox1.AddItem "Kırıkhan"
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O655536"
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"


End Sub
 
Kodları revize ettim. Kontrol eder misiniz ?
Kod:
Private Sub CommandButton1_Click()
s = ComboBox1.Text
If TextBox1.Text <> "" Then
    Son_Dolu_Satir = Sheets(s).Range("A65536").End(xlUp).Row
    Bos_Satir = Son_Dolu_Satir + 1
   
    Sheets(s).Range("A" & Bos_Satir).Value = _
    Application.WorksheetFunction.Max(Sheets("Antakya").Range("A:A")) + 1
    Sheets(s).Range("B" & Bos_Satir).Value = TextBox1.Text
    Sheets(s).Range("C" & Bos_Satir).Value = TextBox2.Text
    Sheets(s).Range("D" & Bos_Satir).Value = TextBox3.Text
    Sheets(s).Range("E" & Bos_Satir).Value = TextBox4.Text
    Sheets(s).Range("F" & Bos_Satir).Value = ComboBox1.Text
    Sheets(s).Range("G" & Bos_Satir).Value = TextBox5.Text
    Sheets(s).Range("H" & Bos_Satir).Value = TextBox6.Text
    Sheets(s).Range("I" & Bos_Satir).Value = TextBox7.Text
    Sheets(s).Range("J" & Bos_Satir).Value = ComboBox2.Text
   
   
    Sheets(s).Select
   
   Else
   MsgBox "İsim Girmeniz gerekiyor"
   End If

MsgBox "Kayıt başarılı", vbApplicationModal, ""
Dim del As Control

For Each del In UserForm2.Controls

If TypeName(del) = "TextBox" Or TypeName(del) = "ComboBox" Then

del.Text = Empty

End If

Next del



Range("J2").Select
Selection.End(xlDown).Select
Range("U2").Value = ActiveCell.Offset(0, 0)


End Sub

Private Sub UserForm_Initialize()
Me.TextBox2.Locked = True 'Takvim harici veri girişini engellemek için

Me.TextBox9.Locked = True 'Takvim harici veri girişini engellemek için


ComboBox1.AddItem "Antakya"
ComboBox1.AddItem "Kırıkhan"
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O655536"
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"


End Sub
Teşekkürler ilgendiğiniz için. hata veriyor
 
Örnek dosyanızda Userform'2'nin kodlarını aşağıdakilerle değiştirince kodlar çalışıyor görünüyor:

PHP:
Private Sub CommandButton1_Click()
s = ComboBox1.Text
If TextBox1.Text <> "" Then
    Son_Dolu_Satir = Sheets(s).Range("A65536").End(xlUp).Row
    Bos_Satir = Son_Dolu_Satir + 1
    
    Sheets(s).Range("A" & Bos_Satir).Value = _
    Application.WorksheetFunction.Max(Sheets("Antakya").Range("A:A")) + 1
    Sheets(s).Range("B" & Bos_Satir).Value = TextBox1.Text
    Sheets(s).Range("C" & Bos_Satir).Value = TextBox2.Text
    Sheets(s).Range("D" & Bos_Satir).Value = TextBox3.Text
    Sheets(s).Range("E" & Bos_Satir).Value = TextBox4.Text
    Sheets(s).Range("F" & Bos_Satir).Value = ComboBox1.Text
    Sheets(s).Range("G" & Bos_Satir).Value = TextBox5.Text
    Sheets(s).Range("H" & Bos_Satir).Value = TextBox6.Text
    Sheets(s).Range("I" & Bos_Satir).Value = TextBox7.Text
    Sheets(s).Range("J" & Bos_Satir).Value = ComboBox2.Text
    
    
    Sheets(s).Select
    
   Else
   MsgBox "İsim Girmeniz gerekiyor"
   End If

MsgBox "Kayıt başarılı", vbApplicationModal, ""
Dim del As Control

For Each del In UserForm2.Controls

If TypeName(del) = "TextBox" Or TypeName(del) = "ComboBox" Then

del.Text = Empty

End If

Next del



Range("J2").Select
Selection.End(xlDown).Select
Range("U2").Value = ActiveCell.Offset(0, 0)


End Sub

Private Sub UserForm_Initialize()
Me.TextBox2.Locked = True 'Takvim harici veri girişini engellemek için

Me.TextBox9.Locked = True 'Takvim harici veri girişini engellemek için

son = Sheets("VERİLER").Cells(Rows.Count, "A").End(3).Row
ComboBox1.RowSource = "VERİLER!A1:A" & son
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O655536"
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"


End Sub
 
Bu arada tüm sayfalarda tüm satırları biçimlendirmenizi ve listbox gibi nesnelerin kaynağını çok büyük bir alan olarak belirlemenizi önermem. Mümkün oldukça sade dosya yapısı kullanın ve çalışma alanınızı da gerçek çalışma alanınızla sınırlandırın.
 
kusura bakmayın elinize sağlık kırıkhan ilçesinde hata veriyordu bende örnekte combobox numarasını yanlış yazmışım veriler farklı yerlere kayıt yapıyordu düzelttim ancak ilçelere göre kayıt yapamadım tekrar bir baka bilirmisiniz rica etsem örnek 5 olarak attım linki
 
Aşağıdaki gibi deneyin:

PHP:
Private Sub ComboBox1_Change()
sonliste = Cells(Rows.Count, "A").End(3).Row
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O" & sonliste
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"
End Sub

Private Sub CommandButton1_Click()
s = ComboBox1.Text
If TextBox1.Text <> "" Then
    Son_Dolu_Satir = Sheets(s).Range("A65536").End(xlUp).Row
    Bos_Satir = Son_Dolu_Satir + 1
    
    Sheets(s).Range("A" & Bos_Satir).Value = _
    Application.WorksheetFunction.Max(Sheets(s).Range("A:A")) + 1
    Sheets(s).Range("B" & Bos_Satir).Value = TextBox1.Text
    Sheets(s).Range("C" & Bos_Satir).Value = TextBox2.Text
    Sheets(s).Range("D" & Bos_Satir).Value = TextBox3.Text
    Sheets(s).Range("E" & Bos_Satir).Value = TextBox4.Text
    Sheets(s).Range("F" & Bos_Satir).Value = ComboBox2.Text
    Sheets(s).Range("G" & Bos_Satir).Value = TextBox5.Text
    Sheets(s).Range("H" & Bos_Satir).Value = TextBox6.Text
    Sheets(s).Range("I" & Bos_Satir).Value = TextBox7.Text
    Sheets(s).Range("J" & Bos_Satir).Value = ComboBox3.Text
    Sheets(s).Select
Else
    MsgBox "İsim Girmeniz gerekiyor"
End If

MsgBox "Kayıt başarılı", vbApplicationModal, ""

Dim del As Control

For Each del In UserForm2.Controls
    If TypeName(del) = "TextBox" Or TypeName(del) = "ComboBox" Then
        del.Text = Empty
    End If
Next del

'Range("J2").Select
'Selection.End(xlDown).Select
'Range("U2").Value = ActiveCell.Offset(0, 0)
sonliste = Cells(Rows.Count, "A").End(3).Row
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O" & sonliste
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"
End Sub

Private Sub UserForm_Initialize()
Me.TextBox2.Locked = True 'Takvim harici veri girişini engellemek için

Me.TextBox9.Locked = True 'Takvim harici veri girişini engellemek için

son = Sheets("VERİLER").Cells(Rows.Count, "A").End(3).Row
sonliste = Cells(Rows.Count, "A").End(3).Row
ComboBox1.RowSource = "VERİLER!A1:A" & son
ListBox1.ColumnCount = 10
ListBox1.RowSource = "A2:O" & sonliste
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = "60;160;83;58;58;95;95;150;98;98"
End Sub
 
Teşekkürler
sadece kırıkhan ilçesini seçtiğimde hata veriyor. diğerlerinde kayıt yapıyor.
 
Veriler sayfasındaki ilçe adlarıyla sayfaların adları birebir aynı olmalı. Veriler sayfasında büyük harflerle yazmışsınız ama sayfa adları sadece ilk harf büyük.
 
Tamam Düzelttim. Çok teşekkürler yardımlarınız için. elinize, emeğinize sağlık.
 
https://www.dosyaupload.com/cqvF

İyi günler. müsait olduğunuz bir zamanda tekrar yardımcı olursanız sevinirim.
İlçelerin yanına ( CHR ) isimli yeni bir sayfa açtım. İlçelere verileri kaydederken bu açtığım ( CHR ) sayfasında ilçelere yapılan kayıt sırasına göre verilerin bu sayfa da otomatik kayıt yapması için uğraştım ama ben yapamadım ola bilirmi acaba sizin için uğraştırıcı değilse bir baka bilirmisiniz.
 
Geri
Üst