• DİKKAT

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

Tarih Sıralaması hakkında

Katılım
8 Mart 2006
Mesajlar
317
Excel Vers. ve Dili
EXCEL-2013
Değerli üstada arkadaşlar
Aşağıda belirttiğim kod ile Aşağıdaki gibi sıralama yapıyor yani ilk sayısal değerde, Tarihsel değerlere göre nasıl bir kod yazılması gerekiyor?..

Private Sub CommandButton1_Click()
Range("B3:I5000").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
-----------
21.02.2013
21.02.2013
21.12.2012
21.12.2012
22.01.2013
30.01.2013
30.01.2013
31.01.2013
31.01.2013
31.12.2012
 
Merhaba,

Ha sayısal değer içeren veri olsun ha metin içeren veri olsun, sıralamanın mantığı aynıdır.

Sizin yapmak istediğiniz tam olarak ne olabilir?

Konunun daha iyi anlaşılması için küçük örnek bir dosya eklerseniz daha çok yardımcı olacaktır.
 
Doğru anladıysam sanırım bu kodlar işinizi görecektir. Tarih verileri A sütununda varsayılmıştır.

Dim syf1 As Worksheet
Dim i As Integer
Set syf1 = Sheets("Sayfa1")

With syf1
.Range("C:E").ClearContents

For i = 1 To [A1048576].End(3).Row
.Cells(i, "C") = Format(Cells(i, "a"), "dd")
.Cells(i, "D") = Format(Cells(i, "a"), "mm")
.Cells(i, "E") = Format(Cells(i, "a"), "yyyy")
Next

Columns("A:E").Sort Key1:=Range("E1"), Order1:=xlAscending, Key2:=Range("D1") _
, Order2:=xlAscending, Key3:=Range("C1") _
, Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

.Range("C:E").ClearContents

End With
End Sub
 
Geri
Üst