• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Listbox ta son yapılan kayıt ilk sırada görünmesi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

LİNDA

Gold Üye
Katılım
4 Haz 2021
Mesajlar
269
Çözümler
1
Aldığı beğeni
90
Excel V
Office 2019 TR
Gold Bitiş
15 Nisan 2026
Konu Sahibi
Merhaba arkadaşlar ekteki dosyamda kaydet tuşu ve şu kodlarla veriyi kaydediyorum ve listbox1 de görünüyor. Kayıt sayısı arttıkça son kaydedilen verinin kaydedilip kaydedilmediğinden emin olmak için son satıra gitmek sıkıntı oluyor.. Ekrana gelen aday başarı ile kaydedildi. Mesajı ile ilk satırda görünsün tamam dediğimizde son satıra gitsin .Aynı durum güncelleme kodları içinde gerekecek sanırım.
Kaydet için:
Private Sub CommandButton4_Click()
On Error GoTo bitir
Dim pr As Worksheet
Set pr = Sheets("Sayfa2")
Dim aranan As String
Dim tablo As Range
Dim X As Integer, Data As Worksheet
Set Data = Worksheets("DATA")
Set tablo = pr.Range("A:D")
aranan = TextBox1.Text

KayitSatiri = tablo.Find(aranan, LookIn:=xlValues, lookat:=xlWhole).Row

sonsatir = KayitSatiri

sonsatir = WorksheetFunction.CountA(Worksheets("DATA").Range("B:B")) + 1
say = WorksheetFunction.CountIf(Data.Range("B2:B" & sonsatir), aranan)
If ComboBox3.Value = "NAKİL GELECEK" Then
Data.Cells(sonsatir, 2) = TextBox1.Value
Data.Cells(sonsatir, 3) = TextBox2.Value
Data.Cells(sonsatir, 4) = TextBox3.Value
Data.Cells(sonsatir, 5) = TextBox4.Value
Data.Cells(sonsatir, 6) = TextBox5.Value
Data.Cells(sonsatir, 7) = TextBox6.Value
Data.Cells(sonsatir, 8) = ComboBox1.Value
Data.Cells(sonsatir, 9) = ComboBox2.Value
Data.Cells(sonsatir, 10) = TextBox7.Value
Data.Cells(sonsatir, 11) = TextBox8.Value
Data.Cells(sonsatir, 12) = TextBox9.Value
Data.Cells(sonsatir, 13) = ComboBox3.Value
Data.Cells(sonsatir, 14) = ComboBox4.Value
Data.Cells(sonsatir, 15) = TextBox10.Value
Data.Cells(sonsatir, 16) = TextBox11.Value
Data.Cells(sonsatir, 17) = TextBox12.Value


Data.Cells(sonsatir + 1, 2) = TextBox1.Value
Data.Cells(sonsatir + 1, 3) = TextBox2.Value
Data.Cells(sonsatir + 1, 4) = TextBox3.Value
Data.Cells(sonsatir + 1, 5) = TextBox4.Value
Data.Cells(sonsatir + 1, 6) = TextBox5.Value
Data.Cells(sonsatir + 1, 7) = TextBox6.Value
Data.Cells(sonsatir + 1, 8) = ComboBox1.Value
Data.Cells(sonsatir + 1, 9) = ComboBox2.Value
Data.Cells(sonsatir + 1, 10) = TextBox7.Value
Data.Cells(sonsatir + 1, 11) = TextBox8.Value
Data.Cells(sonsatir + 1, 12) = TextBox9.Value
Data.Cells(sonsatir + 1, 13) = "KESİN KAYIT"
Data.Cells(sonsatir + 1, 14) = ComboBox4.Value
Data.Cells(sonsatir + 1, 15) = TextBox10.Value
Data.Cells(sonsatir + 1, 16) = TextBox11.Value
Data.Cells(sonsatir + 1, 17) = TextBox12.Value
End If
If say = 1 Then
sor = MsgBox(aranan & " T.C. Kimlik Numaralı öğrenci kayıt edilmiş" & Chr(10) & Chr(10) & "Güncelleme yapılacak mı?", vbYesNo + vbInformation, "Bilgi")
If sor = vbYes Then
guncelle
MsgBox aranan & " T.C. Kimlik Numaralı Kayıt Güncellenmiştir.", vbInformation, "Bilgi"
Else
MsgBox "İşlem iptal edilmiştir.", vbInformation, "Bilgi"
temizle
End If
Exit Sub
End If

Data.Cells(sonsatir, 2) = TextBox1.Value
Data.Cells(sonsatir, 3) = TextBox2.Value
Data.Cells(sonsatir, 4) = TextBox3.Value
Data.Cells(sonsatir, 5) = TextBox4.Value
Data.Cells(sonsatir, 6) = TextBox5.Value
Data.Cells(sonsatir, 7) = TextBox6.Value
Data.Cells(sonsatir, 8) = ComboBox1.Value
Data.Cells(sonsatir, 9) = ComboBox2.Value
Data.Cells(sonsatir, 10) = TextBox7.Value
Data.Cells(sonsatir, 11) = TextBox8.Value
Data.Cells(sonsatir, 12) = TextBox9.Value
Data.Cells(sonsatir, 13) = ComboBox3.Value
Data.Cells(sonsatir, 14) = ComboBox4.Value
Data.Cells(sonsatir, 15) = TextBox10.Value
Data.Cells(sonsatir, 16) = TextBox11.Value
Data.Cells(sonsatir, 17) = TextBox12.Value
Data.Cells(2, 1).Value = 1
Data.Cells(sonsatir, 23) = kullanici & " " & Now
For X = 3 To sonsatir
Data.Cells(X, 1).Value = Data.Cells(X - 1, 1).Value + 1
Next X

'For Each i In Me.Controls
'If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then i.Value = ""
'If TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox" Then i.Value = False
'Next i
temizle
Set Data = Nothing: X = 0


UserForm_Initialize
'sırala
bitir: MsgBox "ADAY BAŞARI İLE KAYDEDİLDİ", vbOKOnyl + vbInformation, " BİLGİ !"

End Sub

ve güncelleme için ise
Private Sub CommandButton2_Click()
Dim Data As Worksheet
If TextBox1.Text = "" Then Exit Sub
Set Data = Worksheets("DATA")
aranan = TextBox1.Text
sor = MsgBox(aranan & " T.C. Kimlik Numaralı Öğrenci Bilgileri İçin Güncelleme Yapılacak mı?", vbYesNo + vbInformation, "Bilgi")
If sor = vbNo Then Exit Sub
değiştir_satır = Worksheets("DATA").Range("B:B").Find(aranan).Row
Worksheets("DATA").Cells(değiştir_satır, 3) = TextBox2.Value
Worksheets("DATA").Cells(değiştir_satır, 4) = CDate(TextBox3.Value)
Worksheets("DATA").Cells(değiştir_satır, 5) = TextBox4.Value
Worksheets("DATA").Cells(değiştir_satır, 6) = TextBox5.Value
Worksheets("DATA").Cells(değiştir_satır, 7) = TextBox6.Value
Worksheets("DATA").Cells(değiştir_satır, 8) = ComboBox1.Value
Worksheets("DATA").Cells(değiştir_satır, 9) = ComboBox2.Value
Worksheets("DATA").Cells(değiştir_satır, 10) = TextBox7.Value
Worksheets("DATA").Cells(değiştir_satır, 11) = TextBox8.Value
Worksheets("DATA").Cells(değiştir_satır, 12) = TextBox9.Value
Worksheets("DATA").Cells(değiştir_satır, 13) = ComboBox3.Value
Worksheets("DATA").Cells(değiştir_satır, 14) = ComboBox4.Value
Worksheets("DATA").Cells(değiştir_satır, 15) = TextBox10.Value
Worksheets("DATA").Cells(değiştir_satır, 16) = TextBox11.Value
Worksheets("DATA").Cells(değiştir_satır, 17) = TextBox12.Value
Worksheets("DATA").Cells(değiştir_satır, 24) = kullanici & " " & Now
'For Each i In Me.Controls
'If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then i.Value = ""
'If TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox" Then i.Value = False
'Next i
temizle
UserForm_Initialize
Set Data = Nothing


End Sub

bu kodlarda nasıl bir düzenleme yapabiliriz
 
Konu Sahibi
Sayın Yusuf43 yardımınız için teşekkür ederim . Gün içinde üç dört şekilde kodlamalarla düzenleme yaptım . Ama sonuç alamadım. Umarım başarabilirim
 
Konu Sahibi
Sayın Alicimri yardım öneriniz için teşekkür ederim. Sizin dosyanız ve Sayın Yusuf43 ün dosyasıındaki kodları uyarlamaya çalışıyorum. Ama kodların kaşını gözünü çıkardım herhalde. İşin içinden çıkamadığım dosyamı da ekliyorum. Yazılım bilmeyince böyle oluyor sonuç
 
Konu Sahibi
Düzenledim inceleyip dönüş yapın.
Teşekkürler yardımınız için Sayın Yusuf43 kaydedilen kişi ilk sırada yer alıyor. Sizin kaydettiğiniz data sayfasındaki verileri sildim Aday no girerek aday bul ile ekrana çağırıyorum ve kaydet tuşu ile kayıt yapıyorum .. Yani tek kayıt görünüyor.. Her kayıt girdiğimde son kaydedilen en üstte ama önceki kayıtlar görünmüyor Listbox1 ve data sayfasında .
 
Konu Sahibi
Kaydet tuşundaki kodları aşağıdaki değiştirdim
Private Sub CommandButton4_Click()
On Error GoTo bitir
Dim pr As Worksheet
Set pr = Sheets("Sayfa2")
Dim aranan As String
Dim tablo As Range
Dim X As Integer, Data As Worksheet
Set Data = Worksheets("DATA")
Set tablo = pr.Range("A:D")
aranan = TextBox1.Text

KayitSatiri = tablo.Find(aranan, LookIn:=xlValues, lookat:=xlWhole).Row

sonsatir = KayitSatiri

sonsatir = WorksheetFunction.CountA(Worksheets("DATA").Range("B:B")) + 1
say = WorksheetFunction.CountIf(Data.Range("B2:B" & sonsatir), aranan)
If ComboBox3.Value = "NAKİL GELECEK" Then

Data.Cells(sonsatir, 2) = TextBox1.Value
Data.Cells(sonsatir, 3) = TextBox2.Value
Data.Cells(sonsatir, 4) = TextBox3.Value
Data.Cells(sonsatir, 5) = TextBox4.Value
Data.Cells(sonsatir, 6) = TextBox5.Value
Data.Cells(sonsatir, 7) = TextBox6.Value
Data.Cells(sonsatir, 8) = ComboBox1.Value
Data.Cells(sonsatir, 9) = ComboBox2.Value
Data.Cells(sonsatir, 10) = TextBox7.Value
Data.Cells(sonsatir, 11) = TextBox8.Value
Data.Cells(sonsatir, 12) = TextBox9.Value
Data.Cells(sonsatir, 13) = ComboBox3.Value
Data.Cells(sonsatir, 14) = ComboBox4.Value
Data.Cells(sonsatir, 15) = TextBox10.Value
Data.Cells(sonsatir, 16) = TextBox11.Value
Data.Cells(sonsatir, 17) = TextBox12.Value

Data.Cells(sonsatir + 1, 2) = TextBox1.Value
Data.Cells(sonsatir + 1, 3) = TextBox2.Value
Data.Cells(sonsatir + 1, 4) = TextBox3.Value
Data.Cells(sonsatir + 1, 5) = TextBox4.Value
Data.Cells(sonsatir + 1, 6) = TextBox5.Value
Data.Cells(sonsatir + 1, 7) = TextBox6.Value
Data.Cells(sonsatir + 1, 8) = ComboBox1.Value
Data.Cells(sonsatir + 1, 9) = ComboBox2.Value
Data.Cells(sonsatir + 1, 10) = TextBox7.Value
Data.Cells(sonsatir + 1, 11) = TextBox8.Value
Data.Cells(sonsatir + 1, 12) = TextBox9.Value
Data.Cells(sonsatir + 1, 13) = "KESİN KAYIT"
Data.Cells(sonsatir + 1, 14) = ComboBox4.Value
Data.Cells(sonsatir + 1, 15) = TextBox10.Value
Data.Cells(sonsatir + 1, 16) = TextBox11.Value
Data.Cells(sonsatir + 1, 17) = TextBox12.Value
For X = 3 To sonsatir
Data.Cells(X, 1).Value = Data.Cells(X - 1, 1).Value + 1
say = Cells(Rows.Count, 1).End(3).Row
Cells(say + 1, 1).Value = TextBox1.Value
Cells(say + 1, 2).Value = TextBox2.Value
Cells(say + 1, 3).Value = TextBox3.Value
Cells(say + 1, 4).Value = TextBox4.Value
Cells(say + 1, 5).Value = TextBox5.Value
Cells(say + 1, 6).Value = TextBox6.Value
say1 = Cells(Rows.Count, 1).End(3).Row
ListBox1.RowSource = "DATA!a1:q" & Cells(Rows.Count, 1).End(3).Row
ListBox1.Value = TextBox1.Value

Next X
End If
'sırala
If say = 1 Then

sor = MsgBox(aranan & " T.C. Kimlik Numaralı öğrenci kayıt edilmiş" & Chr(10) & Chr(10) & "Güncelleme yapılacak mı?", vbYesNo + vbInformation, "Bilgi")
If sor = vbYes Then
guncelle
MsgBox aranan & " T.C. Kimlik Numaralı Kayıt Güncellenmiştir.", vbInformation, "Bilgi"
Else
MsgBox "İşlem iptal edilmiştir.", vbInformation, "Bilgi"
temizle
End If
Exit Sub
End If

Data.Cells(sonsatir, 2) = TextBox1.Value
Data.Cells(sonsatir, 3) = TextBox2.Value
Data.Cells(sonsatir, 4) = TextBox3.Value
Data.Cells(sonsatir, 5) = TextBox4.Value
Data.Cells(sonsatir, 6) = TextBox5.Value
Data.Cells(sonsatir, 7) = TextBox6.Value
Data.Cells(sonsatir, 8) = ComboBox1.Value
Data.Cells(sonsatir, 9) = ComboBox2.Value
Data.Cells(sonsatir, 10) = TextBox7.Value
Data.Cells(sonsatir, 11) = TextBox8.Value
Data.Cells(sonsatir, 12) = TextBox9.Value
Data.Cells(sonsatir, 13) = ComboBox3.Value
Data.Cells(sonsatir, 14) = ComboBox4.Value
Data.Cells(sonsatir, 15) = TextBox10.Value
Data.Cells(sonsatir, 16) = TextBox11.Value
Data.Cells(sonsatir, 17) = TextBox12.Value
Data.Cells(2, 1).Value = 1
Data.Cells(sonsatir, 23) = kullanici & " " & Now
For X = 3 To sonsatir
Data.Cells(X, 1).Value = Data.Cells(X - 1, 1).Value + 1
say = Cells(Rows.Count, 1).End(3).Row
Cells(say + 1, 1).Value = TextBox1.Value
Cells(say + 1, 2).Value = TextBox2.Value
Cells(say + 1, 3).Value = TextBox3.Value
Cells(say + 1, 4).Value = TextBox4.Value
Cells(say + 1, 5).Value = TextBox5.Value
Cells(say + 1, 6).Value = TextBox6.Value
say1 = Cells(Rows.Count, 1).End(3).Row
ListBox1.RowSource = "DATA!a1:q" & Cells(Rows.Count, 1).End(3).Row
ListBox1.Value = TextBox1.Value

Next X

'For Each i In Me.Controls
'If TypeName(i) = "TextBox" Or TypeName(i) = "ComboBox" Then i.Value = ""
'If TypeName(i) = "OptionButton" Or TypeName(i) = "CheckBox" Then i.Value = False
'Next i
temizle
Set Data = Nothing: X = 0


UserForm_Initialize
'sırala
bitir: MsgBox "ADAY BAŞARI İLE KAYDEDİLDİ", vbOKOnyl + vbInformation, " BİLGİ !"

End Sub

ve Private Sub UserForm_Initialize()
olayındaki bölümüde şu şeklide
' '----
ListBox1.ColumnCount = 17
ListBox1.RowSource = "DATA!a1:q" & Cells(Rows.Count, 1).End(3).Row
ListBox1.ColumnWidths = "30"
'Next
' '----

yeşil renkli bölümü örnek olacak diye tamamlamadım ama . Sonuç son kaydedilen en üstte olmuyor
 
Ben bazı kodları değiştirdim siz benim gönderdiğim kodların tamamını kopyalayın. Birde listele diye yeni kod koydum listeleme kodu onuda kopyalayın.
 
Konu Sahibi
Sayın Yusuf43 söylediklerinizi yaptım . Teşekkür ederim . Ama bir yerlerde yine eksik yapıyorum sanırım . Listbox1 satır başlıkları görünmüyor.. Ve son kaydedilen veri en üstte mavi renk olarak görünse (resimdeki gibi) ekrana gelen aday başarı ile kaydedil mesajına tamam denince kaybolsa
 
İstediklerinizi düzenledim program bende tam çalışıyor. Son gönderdiğim programı kullanmayacaksanız başına ve sonuna
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX işareti koyduğum kodları kopyalayın. Listbox1 'in Columheads özelliğini true yapın başlıklar görünecektir.
 
Konu Sahibi
İstediklerinizi düzenledim program bende tam çalışıyor. Son gönderdiğim programı kullanmayacaksanız başına ve sonuna
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX işareti koyduğum kodları kopyalayın. Listbox1 'in Columheads özelliğini true yapın başlıklar görünecektir.
sizin gönderdiğiniz dosya üzerinde denemler yaptım. Sanırım siz data sayfasına verileri manuel giriyorsunuz.Sayfa2 de aday kayıtlar olacak ve o sayfada çağırarak kaydet tuşu ile kayıt yapacağız.
Lisxbox başlıkları görünüyor.
2 - 2 aday kayıt yaptım ama ilk kayıt yapılan alt satırda görünmüyor. Ve sayfa2 ye üst kısma 2 boş satır ekledi.
3-Mavi satır görünüyor ama kayıt yapıldıktan sonra texboxlar temizlendiği halde mavi satır kaybolmuyor
Çok uğraştırdım biliyorum ama güzel bir sonuca ulaşabilirsek sevinirim
 
Ben manuel kayıt yapmıyorum program üzerinden kayıt yapıyorum. Sizin söylediklerinizin hiç biri bende olmuyor. Son kaydı en üste kayıt ediyor. Mavi renge gelince o öyle kalacak ancak programdan çıkınca siliniyor.
 
Konu Sahibi
Ben manuel kayıt yapmıyorum program üzerinden kayıt yapıyorum. Sizin söylediklerinizin hiç biri bende olmuyor. Son kaydı en üste kayıt ediyor. Mavi renge gelince o öyle kalacak ancak programdan çıkınca siliniyor.
Merhaba sizin kayıtlarınız aday kayıtta olmayan veriler. Tc kimlik No girerek aday bul ile ekrana gelmemiş sanırım . Şimdi denediğimde aday kayıttan öğrenci çağırdım . Kayıt olarak en üstte yaptı. Ama ikinci kişiyi çağırıp kaydedince yine en üstte kayıt yaptı ama önceki kayıt kaydedilenler arasında görün müyor. Ve sayfa2 ye sarı renkle belirttiğim satırla eklenmiş oldu. Ofis2019 kullanıyorum onla ilgili olabilir mi?
 
Aşağıdaki satırı,
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
alttaki gibi değiştirip dener misiniz?
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Konu Sahibi
Aşağıdaki satırı,
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
alttaki gibi değiştirip dener misiniz?
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Sayın Balta çözüm öneriniz için teşekkürler. Arkadaşların son dosyası üzerinde söylediğinizi yaptım. Ama 429 satır gibi bir satıra gidiyor mavi çubuk . Çözemedim bir türlü
 
Konu Sahibi
Kayıt yapamadığım dosyanın video hali belki bir çözüme ulaşabiliriz
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst