UserFormdan Girilen Bilgilerin Sayfada Otomatik Sıralanması

Katılım
25 Aralık 2006
Mesajlar
40
Excel Vers. ve Dili
2010/Türkçe
Herkese İyi Günler,
UserForm kullanarak girişini yaptığım verilerin, kaydedildiği sayfada otamatik olarak alfabetik sıraya dizilmesini istiyorum. Yani her kayıt yapıldığında sayfadaki bilgiler otamatik olarak alfabetik sıraya dizilecek. Bunun için makro kaydettim ama VB de otomatik çalışması için nereye yerleştireceğimi bulamadım (Modulde "SIRALAMA" makrosu var).Bu konuda yardımcı olacak arkadaşlara şimdiden teşekkür ederim. Dosya ektedir.Herkese iyi günler ve iyi çalışmalar dilerim.
 

Ekli dosyalar

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Hangi bilgilere göre alfabetik sıralanacak?
Koda göremi ada soyada göremi?
 
Katılım
25 Aralık 2006
Mesajlar
40
Excel Vers. ve Dili
2010/Türkçe
Sayın Ayhan Ercan,
sıralama Koda göre olacak
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Tekrar Merhaba

Siz zaten SIRALAMA adında bir makro kaydetmişsiniz.
Kaydet butonuna bunu entegre etmek için yapmanız gereken;

Kaydet butonunun kodlarının sonuna Call SIRALAMA yazın.
Aşağıdaki kodu inceleyiniz...

Kod:
Private Sub CmdKAY_Click()
Application.ScreenUpdating = False
          'BU KOD MAKRO ÇALIŞINKEN SAYFA HAREKETLERİNİ ENGELLER
Sheets("DATA").Select
If txtKOD.Value = "" Then
MsgBox "KAYIT YAPILACAK KİŞİNİN KODUNU GİRİNİZ....'", 16, "DİKKAT ÖNEMLİDİR...!"
        'BU KOD TXTKOD'A KAYIT GİRİLMEMİŞ İSE İŞLEM YAPMASINA İZİN VERMEZ.
Exit Sub
Else
End If
Set k = Range("b2:b65536").Find(txtKOD.Value, , xlValues, xlWhole) 'KAYIT BULMA
If Not k Is Nothing Then
    MsgBox "BU KOD İLE DAHA ÖNCE BAŞKA BİR FİRMANIN KAYDI YAPILMIŞ", 16, "LÜTFEN DURUNUZ...!"
    txtKOD.Value = ""
    Exit Sub
End If
Sheets("DATA").Select 'BU KODLAR DATA SAYFASINI SEÇER,KAYIT OLMAYAN SATIRI BULUR,KAYIDA OTOMATİK NUMARA VERİR.
Range("a2").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
If Range("a2").Value = "" Then
Range("a2").Value = 1
Else
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
End If
ActiveCell.Offset(0, 1).Value = txtKOD.Value 'BU KODLAR TEXTBOXDAKİ BİLGİLERİ AYNI SATIRDA,FARKLI SUTUNLARA KAYIT YAPAR
ActiveCell.Offset(0, 2).Value = txtTC.Value
ActiveCell.Offset(0, 3).Value = txtVERGI.Value
ActiveCell.Offset(0, 4).Value = txtSADI.Value
ActiveCell.Offset(0, 5).Value = txtADI.Value
txtKOD.Value = "" 'BU KODLAR TEXTBOXLARDAKİ VERİLERİ SİLER
txtTC.Value = ""
txtVERGI.Value = ""
txtSADI.Value = ""
txtADI.Value = ""
[COLOR=red][B]Call SIRALAMA[/B][/COLOR]
Application.ScreenUpdating = True 'BU KOD SAYFA HAREKETİNİ NORMAL HALE GETİRİR.
End Sub
 
Katılım
25 Aralık 2006
Mesajlar
40
Excel Vers. ve Dili
2010/Türkçe
Sayın Ayhan Ercan,
İlginize teşekkür ederim. Dediğiniz komutu yazdım önce son yazılanı sıraya koymuyordu. Makroda satır sınırı olduğunu gördüm onu düzeltince her kayıt sıraya girdi. Tekrar teşekkür ederim. Ayrıca Türkçe için gösterdiğiniz hassasiyete de bilhassa teşekkür eder iyi çalışmalar dilerim.
 
Üst