• DİKKAT

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

dinamik süzgeç

  • Konbuyu başlatan Konbuyu başlatan BARGENX
  • Başlangıç tarihi Başlangıç tarihi
Katılım
22 Mayıs 2014
Mesajlar
115
Excel Vers. ve Dili
excell 2010
a sütunu b sütunu
ahnet 40
mehmet 70
ali 30

Öğrenciler aldıkları nota göre büyükten küçüğe doğru sıralanacaklar. Ancak, örneğin ali'nin notu 80 ile değiştiğinde ali ismi ve notu en üste geçecek. Yani değerler değiştikçe yeni sıralama oluşacak. Yapılabilir mi?
 
Merhaba
Sayfanın kod bölümüne kopyalayın ve deneyin.
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Range("A1:B" & Cells(Rows.Count, "A").End(xlUp).Row).Sort Range("B1"), xlDescending, Range("A1")
End If
End Sub
 
kısmen oldu

Merhaba
Sayfanın kod bölümüne kopyalayın ve deneyin.
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Range("A1:B" & Cells(Rows.Count, "A").End(xlUp).Row).Sort Range("B1"), xlDescending, Range("A1")
End If
End Sub

Teşekkür ederim. kod çalışıyor. Ama şöyle bir sorun var: b sütunundaki değerler başka bir sütundan aktarıldığında olmuyor, direk b sütununa sayısal değer girince sıralıyor. Yani benim istediğim örneğin f2 deki bir değer b2 ye aktarıldığında da sıralansın.

Çok mu fazla şey istedim. Yardımcı olursanız sevinirim.
 
önce b2 hücresine
Kod:
=EĞERHATA(BÜYÜK($E$2:$E$8;SATIR(A1));"")
girip aşağı çekin
sonra b1 hücresine
Kod:
=EĞERHATA(DÜŞEYARA(B2;$E$2:$F$8;2;0);"")
girip aşağı çekin

formül ile de bu şekilde sorunsuz yapabilirsiniz.
 
anlamadım

önce b2 hücresine
Kod:
=EĞERHATA(BÜYÜK($E$2:$E$8;SATIR(A1));"")
girip aşağı çekin
sonra b1 hücresine
Kod:
=EĞERHATA(DÜŞEYARA(B2;$E$2:$F$8;2;0);"")
girip aşağı çekin

formül ile de bu şekilde sorunsuz yapabilirsiniz.

ne demek istediğinizi anlamadım. dediklerinizi harfiyen yaptım ama olmadı.
 
B2 hücresine
Kod:
=BÜYÜK($E$2:$E$8;SATIR()-1)
A2 hücresine
Kod:
=DÜŞEYARA(B2;$E$2:$F$8;2;0)
Bu formülleri yazın ve aşağıya doğru çekerek çoğaltınız.
 
pardon dalgınlığıma gelmiş. 2. yazdığım formülü a2 hücresine girip aşağı çekin.
ve başlarına eğerhata fonksiyonu ekledim. dinamik dediğinize göre öğrenci sayısı aşağı doğru artıp azalabilir diye düşündüm. formülün uygulandığı hücrede veri varsa işler, yoksa boş bırakır
 
hücrelerdeki formüller

B2 hücresine
Kod:
=BÜYÜK($E$2:$E$8;SATIR()-1)
A2 hücresine
Kod:
=DÜŞEYARA(B2;$E$2:$F$8;2;0)
Bu formülleri yazın ve aşağıya doğru çekerek çoğaltınız.
Bu kodları hücrelere girince hücreler formül içerdiğinden hücreye birşey yazdığımda formül siliniyor. Bunu nasıl çözebilirm.
 
.

Sayfa kod bölümüne aşağıdaki kodu yazın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Range("A2:F30").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

Range("B1").Select
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

End Sub

Listenize girdiğinizde oto sıralama yapar.

.
 
.

Sayfa kod bölümüne aşağıdaki kodu yazın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Range("A2:F30").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

Range("B1").Select
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

End Sub

Listenize girdiğinizde oto sıralama yapar.

.

Verdiğiniz kod, benim aradığım kod. teşekkür ederim. Ancak bunu büyükten küçüğe doğru listeletebilir miyim?
 
İdris SERDAR yardımlarınız için çok teşekkür ederim
 
bir sorun var

İdris SERDAR yardımlarınız için çok teşekkür ederim

Tekrar yardıma ihtiyaç duydum

Ben kodu k ve l sütunlarında kullanabilmek için şu şekilde değiştirdim:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Range("K2:L30").Sort Key1:=Range("L2"), Order1:=xlDescending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

Range("L1").Select
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

End Sub

Elle değer girdiğimde sıralama yapıyor. Ancak ben L2 hücresine =b23 yazıp b23 deki değeri çağırdığımda sıralamıyor.
 
Geri
Üst