• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
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.?
 
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.
 
Ayrı iken Sıralama şansım yok mu?
 
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.
 
teşekkürler, şimdilik imkansız gibi görünüyor umarım mümkün olur
 
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.
 
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
 
Ö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?
 
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
 
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.
 
Geri
Üst