• DİKKAT

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

Soru COMMANDBUTTON SIRALAMA İŞLEVİ

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
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.
 
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.
 
Çok teşekkür ediyorum sanırım oldu. ufak bir hata verdi bir satırda (Dim sonSatir As Long) burayı devre dışı bırakınca çalışıyor gibi
 
Geri
Üst