• DİKKAT

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

Makro ile sıralama

  • Konbuyu başlatan Konbuyu başlatan osan003
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Aralık 2004
Mesajlar
144
Arkadaşlar,elimde kuruma üyelerin yakınlarına verilmiş,giriş kartları mevcut, fakat bunların sıra numaraları(12/3, 347/5, 146/1,714/6, 1/2) şeklinde tabloyu P sütununa göre küçükten büyüğe ve büyükten küçüğe sıralamak için nasıl bir makro yazılabilir. Burada en küçük 1/2 enbüyük ise 714/6 olarak görünecek.
 
Makro Kaydet yöntemi ile elde ettiğim kod şöyle;

(Sıralanacak verilerin A1:A5 aralığında olduğunu varsayıyoruz.)

[vb:1:b4c030d81f]Sub Sırala()
Range("A1:A5").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub[/vb:1:b4c030d81f]
 
Aşağıdaki kodu deneyin. Bu tip yazım şeklinde normal sıralama fonksiyonu ile doğru sonuç alınamayacaktır. Bu sebeple tüm kart noların karakter uzunluğu eşit olmalıdır. Ã?rneğin; 16/1 yerine 016/1 yazın, yine 3/5 yerine 003/5 yazılmalıdır.

[vb:1:50577f5fbf]Sub sirala()
For a = 3 To [p65536].End(3).Row
If Len(Cells(a, "p")) = 4 Then Cells(a, "p") = "0" & Cells(a, "p")
If Len(Cells(a, "p")) = 3 Then Cells(a, "p") = "00" & Cells(a, "p")
Next
Range("A3:P" & [p65536].End(3).Row).Sort Key1:=[p3]
End Sub
[/vb:1:50577f5fbf]
 
Yukarıdaki kodda küçük bir değişiklik yaptım tekrar deneyin.
 
Teşekkür ederim Sayın Leventm son değişiklik işime yaradı.
 
Geri
Üst