• DİKKAT

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

Sıralama sorunu

manisali50

Banned
Katılım
29 Ekim 2010
Mesajlar
471
Excel Vers. ve Dili
Excel2003
Arkadaşlar merhaba..
Sıralama sorunu ile ilgili örnek dosyam ektedir.
Şimdiden teşekkürler
 

Ekli dosyalar

Arkadaşlar tekrar merhaba..
Eğer sorularıma yanıt verilmeyecekse bilelim de boşu boşuna hem soru sormayalım hem de gece yarılarına kadar yanıt gelecek diye beklemeyelim
 
Daha önce bu programı hazırlamamda büyük faydaları dokunan Mancubus üstadım şu an forumda sanırım. Yardımı olur UMUDUYLA son kez güncellemeye karar verdim.
 
Sorumu güncelliyorum arkadaşlar.Mutlaka gören,ilgilenen ve yanıtlayan bir arkadaşım çıkacaktır
 
Hocam dosyanızı inceledim. Yardım etmek isterdim ama istediğiniz bilgiler, benim bildiklerimi aşıyor.
 
Canınız sağolsun..İlginiz ve yüreğiniz yeter..Teşekkür ederim.
 
Önce A sütununa göre sıralayacak. A sütundakiler aynı ise b sütununa göre mi sıralayacaktı?
 
Evet..Aynen..A sütununa göre yapılan sıralamada bir sorun yok..Dediğim gibi A sütununda aynı ürün numarası varsa B sütununa göre sıralama yapmasını istiyorum
 
K sütunuda ki bu formul ile
EĞER(A5=0;1&" "&YİNELE("Z";7)&" "&A5;EĞER(ESAYIYSA(A5);SOLDAN(A5)&" "&YİNELE("Z";7)&" "&A5;1&" "&METNEÇEVİR(A5;"#")))
L sütunundaki =EĞER(YADA(EMETİNSE(C5);ESAYIYSA(formul(C5)+0));"";formul(C5)) formülündeki formulün ne anlama geldiğini anlayabilsem bir şeyler yapmaya çalışacağım da o formulleri çözemedim.
 
Modülün içerisinde şöyle bir kod var :
Function formul(InputCell As Range) As String

formul = InputCell.FormulaLocal

End Function
formul(C5) gibi olan formüller o kodu çalıştırıyor
 
Tabloya veri girişleri yapıyorum ancak herhangi bir sıralama işlemi yapmıyor.
Konuyu biraz daha açar mısınız.

Sıralama işlemini hangi sütuna veri girildikten sonra gerçekleştiriyor.
 
Sayın hocam merhaba..
Özür dilerim yanıtınızı şimdi okudum.
Hocam,(I) sütununa girdikten sonra sıralama yapıyor.Ben sadece örnek olsun diye tablo olarak ekledim.
 
Merhaba, tablonuzun yedeğini aldıktan sonra. Aşağıdaki kodları dener misiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

Dim ss As Long
ss = Cells(Rows.Count, 1).End(3).Row

Select Case Target.Column
    Case Is = 1: Target.Offset(, 1).Select
    Case Is = 2: Target.Offset(, 1).Select
    Case Is = 3: Target.Offset(, 4).Select
    Case Is = 7: Target.Offset(, 2).Select
    Case Is = 9:
        With Target.Offset(, 2)
            .FormulaR1C1 = "=IF(RC[-10]=0,1&"" ""&REPT(""Z"",7)&"" ""&RC[-10],IF(ISNUMBER(RC[-10]),LEFT(RC[-10])&"" ""&REPT(""Z"",7)&"" ""&RC[-10],1&"" ""&TEXT(RC[-10],""#"")))"
            .NumberFormat = ";;;"
        End With
        Range("A5:L" & ss).Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlDescending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
        , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
        xlSortNormal
        Range("A" & ss).Offset(1, 0).Select
    Case Else
End Select

End Sub
 
Üstadım öncelikle ilginize ve emeğinize teşekkür ediyorum ama maalesef olmamış.
Sıralama sistemi de bozulmuş.Orijinal dosyamda öncelikle harflerle başlayan parça noları,daha sonra rakamlarla başlayan parça noları sıralanıyor.Sıralarken de normal sıralama değil.Şöyle ki;
Mesela,999 sayısı 11111111 sayısından küçük ama 9 sayısının rakamsal değeri 1 sayısından büyük olduğu için basamak sayısı ne olursa olsun 11111111 parça numarası 999 parça numarasının önüne ekleniyordu.
 
Birde aşağıdaki satırı değiştirerek deneyiniz,

Kod:
Range("A5:L" & ss).Sort Key1:=Range("[COLOR="Red"][B]A2[/B][/COLOR]"), Order1:=xlAscending, Key2:=Range("B2")

Kırmızı ile belirttiğim yeri K5 yaparak deneyiniz.
 
Yok hocam..Dediğiniz satırı ekleyince ;
, Order2:=xlDescending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
xlSortNormal
satırları kırmızıya boyandı.
Private Sub Worksheet_Change(ByVal Target As Range)
satırı da sarıya boyandı ve çalışmadı
 
Hocam çok güzel olmuş ama sıralamayı ters yapıyor ama..60-50-30- şeklinde değil 30-50-60 şeklinde yapması lazım.Dikkatinizi çekti mi bilmem bazılarının OP.NO&'su yok.Bu hücreyi boşluk tuşu yaparak geçiyoruz.Boş hücreler en başta,diğerleri 10-20-30 şeklinde sıralanması lazım.
 
Hocam çok güzel olmuş ama sıralamayı ters yapıyor ama..60-50-30- şeklinde değil 30-50-60 şeklinde yapması lazım.Dikkatinizi çekti mi bilmem bazılarının OP.NO&'su yok.Bu hücreyi boşluk tuşu yaparak geçiyoruz.Boş hücreler en başta,diğerleri 10-20-30 şeklinde sıralanması lazım.

Merhaba, makro kaydet işlemi ile sıralama yapınız. Artalan ve azalan olarak 2 şekilde de deneyiniz. Daha sonra kodları inceleyerek bu sorunuzu çözebilirsiniz.
 
Geri
Üst