• DİKKAT

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

sıralama

Katılım
24 Haziran 2011
Mesajlar
23
Excel Vers. ve Dili
Excel 2007-Türkçe
merhabalar,

excelde fare kullanarak sıralama makrosunu aşağıdaki gibi elde ediyorum.

Sub Makro4()
'
' Makro4 Makro
'

'
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Sayfa2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa2").Sort.SortFields.Add Key:=Range("B2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa2").Sort
.SetRange Range("A2:C1597")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub



ancak ben işin mantığını öğrenmek istiyorum. çok araştırdım ama yukarıdaki satırların tek tek ne anlama geldiğini ve gerçekten yazan bütün satırların gerekli olup olmadığını anlayamadım. meselabaşta sonu "clear" ile biten komut ne anlama geliyor? neyi temizliyor? "key" dediğimiz nedir? neden range yazdıktan sonra "B2" gibi tek bir hücre belirtiyoruz? "sortnormal" ne demektir? matchcase ve pinyin ne demektir ne işe yarar?

yardımlarınızı bekliyorum.
teşekkürler. iyi çalışmalar.
 
Merhaba,

Makro kaydet ile aldığnız kodlar çok karmaşık olabilir. Amacınız A2:C1597 aralığını B sütununa göre küçükten büyüğe sıralamak isterseniz kısa makro aşağıdaki gibidir.

Kod:
Sub Sırala()
    Range("A2:C1597").Sort Key1:=Range("B2")
End Sub
 
hocam çok sağol.
peki bunu azalan şekilde nasıl yaparız. formüldeki b2 nin anlamı nedir?
B10 yapsak ne değişir?

bir de başka bir konuda sorum olacaktı
mesela son = Cells(1048576, "a").End(3).Row şeklinde bir değişken tanımladım.
şöyle bir aralık seçmek istiyorum.
a1 ve a son ile L1 ve L son arasını seçmek istiyorum.
nasıl yaparım.
çokteşekkür ederim.iyi çalışmalar.
 
hocam çok sağol.
peki bunu azalan şekilde nasıl yaparız. formüldeki b2 nin anlamı nedir?
B10 yapsak ne değişir?
.

B1, B2, .... B bilmem kaç bu önemli değil, bunun anlamı B sütununa göre sıralama yapacağımızı belirtiyoruz.

Aşağıdaki kodun ikiside aynı anlama gelir.

Kod:
    Range("A2:B" & Son).Sort Key1:=[A10], order1:=xlDescending
    Range("A2:B" & Son).Sort Key1:=[A10], order1:=2


Büyükten Küçüğe Sıralamak için xlDescending ya da 2,
Küçükten Büyüğe Sıralamak için xlAscending ya da 1 ya da herhangi birşey yazmaya gerek yok, ilk değeri küçükten büyüğedir.

şöyle bir aralık seçmek istiyorum.
a1 ve a son ile L1 ve L son arasını seçmek istiyorum.
nasıl yaparım.
çokteşekkür ederim.iyi çalışmalar.

Böyle bir seçimi

Kod:
Range("A1:A" & Son & ", L1:L" & Son).Select
şeklinde kullanabilirsiniz.
 
9 üzerinden :)
 
Geri
Üst