• DİKKAT

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

Tarih sıralama

Katılım
8 Haziran 2007
Mesajlar
401
Excel Vers. ve Dili
excel fonksiyonlar
Forumda emeği geçen herkese merhaba. Arkadaşlar tarih sıralama hakkında sıkıntı yaşıyorum. Aynı yıla ait verileri önce aylara göre sonra da günlere göre
en küçükten en büyüğe doğru sıralamak istiyorum. Forumdaki örneklerden denediklerim istediğim sonucu vermiyor. Ya da ben doğru örneği bulamadım. Kodlar aşağıda. Ayrıca örnek dosyada C sütununda doğru sıralama mevcut. İlgilenen arkadaşlara şimdiden teşekkürler.

KOD :

Sheets("Sayfa1").Select
son = [A1047586].End(3).Row

Range("A1:A" & son).Select
Selection.Copy
Sheets("Sayfa1").Select
Range("E1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("F1").Select

Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("E1:E1048576") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa1").Sort
.SetRange Range("E1:E1048576")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("G1").Select
 

Ekli dosyalar

. . .

Kod:
Sub kod()
Application.ScreenUpdating = False
son_sat = [a65536].End(3).Row
For i = 1 To son_sat
Cells(i, "f") = Format(Cells(i, "a"), "mm")
Cells(i, "e") = Cells(i, "a")

Next i
    
Columns("E:F").Sort Key1:=Range("F1"), Order1:=xlAscending, Key2:=Range("E1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

Columns("f:F").ClearContents
Application.ScreenUpdating = True
End Sub

. . .
 
. . .

Kod:
Sub kod()
Application.ScreenUpdating = False
son_sat = [a65536].End(3).Row
For i = 1 To son_sat
Cells(i, "f") = Format(Cells(i, "a"), "mm")
Cells(i, "e") = Cells(i, "a")

Next i
    
Columns("E:F").Sort Key1:=Range("F1"), Order1:=xlAscending, Key2:=Range("E1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

Columns("f:F").ClearContents
Application.ScreenUpdating = True
End Sub

. . .

Hocam kodlar çalıştı. Az çok mantığını da anladım gibi . İlginiz ve emeğiniz için çok çok teşekkürler. Cells(i, "f") = Format(Cells(i, "a"), "mm") bu kodun ne olduğunu da açıklarsanız bu fakir size minnettar kalır :)
 
. . .

F sütununa tarihlerin ay kısmını yazdırıyor.

. . .
 
Geri
Üst