EXCEL'DE RENGE GÖRE OTOMATİK SIRALAMA YAPMA

Katılım
20 Nisan 2024
Mesajlar
5
Excel Vers. ve Dili
EXCEL PLUS 2013
Merhaba arkadaşlar, iyi forumlar. Üzerinde çalıştığım tabloda yapmak istediğim bir eylem var: her gün, bugün değerine göre renklenen bazı hücreler var. Bu hücreleri sıralama yaparak en üste taşıyabiliyorum ama otomatik bir eylem olması gerekiyor. Otomatik olmasa da bir butona tıkladığımda bu hücreler kolay bir biçimde en üste gelsin. Sırala düğmesiyle önce seçim yapıyorum falan derken uzun sürüyor. Çok pratik olması gerekiyor. Nasıl yapabilirim. Şimdiden teşekkür ederim.
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
392
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Eğer renkleriniz her gün değişkenlik göstermiyorsa, manuel yaptığınız sıralamayı Makro Kaydet butonuna tıkladıktan sonra bir kerelik yapın. Ardından modülde aşağıdaki gibi bir kod dizisi oluşacaktır. Bunu bir butona aktararak sıralamayı gerçekleştirebilirsiniz.

Eğer satır sayınız değişkenlik gösteriyorsa, kodların en başına satir = Range("A" & Rows.Count).End(xlUp).Row kodunu ekleyip, koddaki satırı ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A" & satir), _ şeklinde değiştirebilirsiniz. Bir şekilde başarılı olamazsanız çözüm için örnek dosya yükleyebilirsiniz.

Kod:
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A17"), _
        xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(97, 203 _
        , 243)
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A17"), _
        xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(131, _
        226, 142)
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A17"), _
        xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, _
        192, 0)
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A17"), _
        xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(0, 176 _
        , 80)
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add(Range("A1:A17"), _
        xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, _
        255, 0)
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range("A1:A17")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
Katılım
20 Nisan 2024
Mesajlar
5
Excel Vers. ve Dili
EXCEL PLUS 2013
Teşekkür ederim. Tablomda koşullu biçimlendirme var. bugün, girilmiş farklı tarihlerin arasındaysa işin adı yeşil renk oluyor. 150 tane iş var diyelim, bu işlerin yeşil oldukça yukarıya taşınmasını istiyorum. Verdiğiniz formül ile tam olarak bunu yapamadım
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,108
Excel Vers. ve Dili
Excel-2003 Türkçe
Koşullu biçimlendirme formülünü boş bir sütuna (Örn: yeşil için 1, kırmızı için 2 vs..) yazdırın.
Sonra tabloyu yada sayfayı bu sütuna göre artan sıralama yaptırın.
 
Üst