Spreadsheet1 nesnesinde İki kolona göre azalan sıralama

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Tekrar merheba arkadaşlar tek sütuna göre olanı hallettikte bir tanae dah çıktı şimdi şöyleki


spread Sheet teki verilerimiz
a Sütunu b Sütunu
1/2007
3/2007
2/2007
5/2007
12/2007
6/2007
3/2008

diyelim
bunları sırala souncunda
3/2008
12/2007
6/2007
5/2007
3/2007
1/2007

haline getirevek kodlar nedir.?
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

A ve B sütunlarını C'de birleştirip veya en son sütunda birleştirip o sütuna göre sıralama yaptırabilirsiniz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Ayrı iken Sıralama şansım yok mu?
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Bir şekilde iki sütunun birleştirilmesi lazım sonra sıralama yapılması gerekiyor.
Kod ile en son sütunda birleştirilir sıralama yapılır sonra en son sütun silinir,
ama en son sütunda formül ile yapmak daha iyi bir yöntem gibime geliyor.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkürler, şimdilik imkansız gibi görünüyor umarım mümkün olur
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Merhaba,
Excel sayfası 3 kritere göre sıralama imkanı verir. Spreadsheet nesnesinde tek kriter kullanabilirsiniz.

Çözüm olarak, sıralamayı excel sayfasında yaparak nesneye alın.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sql ile verileri çekeceğim için bu mümkün değil hocam orada veriler artan sırada giriliyor.


01 & "/" & (.field("ay")) & "/" & (.field("yıl"))
ozaman yukarıdaki şekilde verileri alırken birleştirerek almak düşünülebilir ama bu şekilde aldıktan sonra tarih sayısı olarak gördürebilecekmiyiz yani spreada sheett destekliyormu ve de azalan sırlama için nerede ne değişklik olacak?

saygılarımla
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Önerdiğiniz çözümü test edip doğru sonuç verdiğini görmek gerek.
Alternatif olarak SQL sorgusunda "ORDER BY" sıralama kriteri versek olur mu?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
bilmem ki hocam ben o aşamaya gelmedim yalnız sorun teşkil edeceğini bildiğim için peşin peşin sorumu sordum

veritabanını hazırladıktan sonra örnek dosya eklerim veya siz birşeyler yapabilirseniz incelerim
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Private Sub ListBox2_Change()
On Error Resume Next
Call DegiskenTani
Dim i As Integer, SQLStr As String
If ListBox2.Value = "" Then Exit Sub
................................
'---------------------------------------------------------------------------------
Dim RecThkk As ADODB.Recordset: Set RecThkk = New ADODB.Recordset
    basliklar = "KN, TCK_NO, AD_SOYAD, ISY_NO, PERS_NO, THK_YILI, THK_AYI, PRM_GUN"
'    basliklar = basliklar & "," & "YKN_CNS, YKN_UYR, YKN_DOGUM_Y, YKN_DOGUM_T"
    sayfaadi = "[TAHAKKUK$]"
    sorgu = "PERS_NO = " & ListBox2.Value
    SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    With RecThkk
        .Open SQLStr, bagTHKK, adOpenKeyset, adLockOptimistic
        If .RecordCount = 0 Then
            Exit Sub
        ElseIf .RecordCount > 0 Then
            sat = 1
            '$A$1:$H$100
            Spreadsheet2.Range("a2:I100").ClearContents
            .MoveFirst
                For i = 1 To .RecordCount
                'KytNo   Yıl Ay  Öd.Gün  Rakamla Yazıyla Ek Ödemeler Mahkemece Karar verilen
                    Spreadsheet2.Sheets(1).Cells(sat + i, 1).Value = .Fields("KN")
                    Spreadsheet2.Sheets(1).Cells(sat + i, 2).Value = .Fields("THK_YILI")
                    Spreadsheet2.Sheets(1).Cells(sat + i, 3).Value = .Fields("THK_AYI")
                    Spreadsheet2.Sheets(1).Cells(sat + i, 4).Value = .Fields("PRM_GUN")
'                    Spreadsheet1.Sheets(1).Cells(sat + i, 5).Value = .Fields("....")
'                    Spreadsheet1.Sheets(1).Cells(sat + i, 6).Value = .Fields("....")
'                    Spreadsheet1.Sheets(1).Cells(sat + i, 7).Value = .Fields("....")
'                    Spreadsheet1.Sheets(1).Cells(sat + i, 8).Value = .Fields("....")
                    Spreadsheet2.Sheets(1).Cells(sat + i, 9).Value = _
                    "01" & "/" & .Fields("THK_AYI") & "/" & .Fields("THK_YILI")
                   .MoveNext
                Next i
            .MoveFirst
        End If
        If CBool(.State And adStateOpen) = True Then .Close
    End With
Set RecYTcNo = Nothing
    With Spreadsheet2
        .Columns("A:I").Sort 9, xlDescending, xlYes
        .Columns(9).NumberFormat = "dd/mm/yyyy"
    End With
End Sub
7. mesajda düşündüğüm gibi spreadshette ek kolan açarak orada birleştirip sıralama başarılı oluyor paylaşmak istedim.
 
Üst