Soru COMMANDBUTTON SIRALAMA İŞLEVİ

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
759
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
11-04-2030
Command tbuttona tıklayınca sayfadaki verileri SYSTEM sekmesinde ilk boş satıra sırayla kaydediyor. Ancak bunları kaydederken SYSTEM sayfasını F sutunundaki isim soy isim listesinde alfabetik sıralaması gerekli. ancak sıralamayı yaparken genişlet işleviyle kişilerin a sütunundaki veriden itibaren gerçekleştirmeli.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
784
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
CV sayfasındaki bilgileri SYSTEM sayfasına ilk boş satıra ekliyorsun (bir butona basarak).
Ekledikten sonra, SYSTEM sayfasındaki verileri F sütunundaki isim soyisim bilgisine göre alfabetik olarak sıralamak istiyorsun.
Ancak sıralarken, sadece F sütununu değil, A’dan başlayarak tüm veriyi birlikte genişleterek sıralaman gerekiyor (satırlar kaymasın diye).
Eğer "CommandButton" zaten bir VBA kodu çalıştırıyorsa, o kodun sonuna sıralama komutunu ekleyebilirsin.

Kod:
Sub KaydetVeSirala()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("SYSTEM")    
   
    Dim sonSatir As Long
    sonSatir = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row + 1    
   
    ws.Cells(sonSatir, "A").Value = "ID"                  
    ws.Cells(sonSatir, "B").Value = Sheets("CV").Range("L4").Value 
    ws.Cells(sonSatir, "C").Value = Sheets("CV").Range("L5").Value 
    ws.Cells(sonSatir, "D").Value = Sheets("CV").Range("L6").Value 
    ws.Cells(sonSatir, "E").Value = Sheets("CV").Range("L7").Value 
    ws.Cells(sonSatir, "F").Value = ws.Cells(sonSatir, "B").Value 
   
    With ws.Sort
        .SortFields.Clear
        .SortFields.Add Key:=ws.Range("F2:F" & sonSatir), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange ws.Range("A1:F" & sonSatir)
        .Header = xlYes
        .Apply
    End With
End Sub
Eğer VBA kullanmak istemiyorsan:
  1. SYSTEM sayfasında, veri ekledikten sonra F sütunundaki herhangi bir hücreyi seç.
  2. Excel menüsünden Veri > Sırala sekmesine git.
  3. "F sütununa göre sırala" seçeneğini işaretle.
  4. "Verileri genişlet" seçeneğini seç.
  5. "Tamam" diyerek sıralamayı uygula.
Ama bunu her seferinde elle yapman gerekir, otomatik olması için VBA en iyi yol.
 
Üst