• DİKKAT

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

Ayrı ayrı descending olarak sıralama

Katılım
20 Mart 2009
Mesajlar
333
Excel Vers. ve Dili
office 2003 ingilizce
Merhaba,
Ekteki dosyamı forumdaki bir arkadaşımın yardımıyla belli bir düzeye getirdik.
İstediğim yere 2 satır ekliyor ancak boş satırların üstündeki ve altındaki yerleri ayrı ayrı descending olarak sıralama kısmı kaldı.
Yardımcı olmanızı rica ediyorum.
 

Ekli dosyalar

Merhaba,
Hangi sütuna göre sıralayacağınızı belitmediğniz için ben C sütununa göre sıraladım. Farklı sütunlara göre sıralamk için önüne * işareti koyduğum satırlardaki C harfini sıralamak istediğiniz sütun harfi ile değiştirebilirsiniz.
Kod:
Sub ayır_ve_sırala()
ss = Range("A" & Rows.Count).End(3).Row
For Z = ss To p + 3 Step -1 'Buradaki P+3 ün ne anlama geldiğini anlamadım. 2 yazabilirdiniz.
    If Cells(Z, "C") = "TRHBTR2A" Or Cells(Z, "C") = "PAMUTRIS" Then
        Rows(Z + 1 & ":" & Z + 2).Insert
        Range("a1:I1").Copy Range("a" & Z + 2)
        Range("a2:I" & Z).Sort Key1:=[C1], Order1:=2 '**********
        Range("a" & Z + 3 & ":I" & ss + 2).Sort Key1:=Cells(Z + 2, "C"), Order1:=2 '**********
        Exit For
    End If
Next Z
End Sub
 
Son olarak şu kısmı da açıklayabilir misiniz?

Range("a2:I" & Z).Sort Key1:=[H1], Order1:=2
Range("a" & Z + 3 & ":I" & ss + 2).Sort Key1:=Cells(Z + 2, "H"), Order1:=2
 
Merhaba,
Range("a2:I" & Z).Sort Key1:=[H1], Order1:=2 satırı A2 den başlayarak araya eklediğimiz boş satıra kadar A-I sütunları arasındaki veriyi H sütununa göre büyükten küçüğe sıralar.

Aşağıdaki satır ise aynı işlemi araya eklediğimiz boş satırlardan sonrası için yapar.
Range("a" & Z + 3 & ":I" & ss + 2).Sort Key1:=Cells(Z + 2, "H"), Order1:=2
 
Üstat eline sağlık. Ekte göreceğin gibi verdiğin koda göre çok güzel ayırdı ve sort etti. Bu kodu H kolonunda B ve A lar arasına satır ekleyip ayırmak için de kullanabilir miyim? Yani yukarısı ve aşağısı için B den sonra ayıracak.
 

Ekli dosyalar

Cevap alabilir miyim?

Buyurun.
Kod:
Sub ayır_ve_sırala()
ss = Range("A" & Rows.Count).End(3).Row
For Z = ss To 2 Step -1
    If Cells(Z, "C") = "TRHBTR2A" Or Cells(Z, "C") = "PAMUTRIS" Then
        Rows(Z + 1 & ":" & Z + 2).Insert
        Range("a1:I1").Copy Range("a" & Z + 2)
        Range("a2:I" & Z).Sort Key1:=[H1], Order1:=2
        Range("a" & Z + 3 & ":I" & ss + 2).Sort Key1:=Cells(Z + 2, "H"), Order1:=2
        Exit For
    End If
Next Z

For i = ss To Z + 2 Step -1
If Cells(i, "H") <> Cells(i + 1, "H") Then
    Rows(i + 1 & ":" & i + 2).Insert
    Range("A1:I1").Copy Range("A" & i + 2)
    Exit For
End If
Next
For i = 2 To Z
If Cells(i, "H") <> Cells(i + 1, "H") Then
    Rows(i + 1 & ":" & i + 2).Insert
    Range("A1:I1").Copy Range("A" & i + 2)
    Exit For
End If
Next
End Sub
 
Hocam ne kadar teşekkür etsem azdır. Siz ve sizin gibiler sayesinde exceli öğreniyoruz. Tekrar çok teşekkür ederim.
 
Geri
Üst