Çözüldü makro ile sıralama

Katılım
24 Nisan 2023
Mesajlar
38
Excel Vers. ve Dili
2016
merhablar
linkteki dosyada
a Sütununda tarih varken sıralama yapıp satırlar arası boşluk oluşturuyor
tarih kısmını b sütununa taşıyınca hata veriyor yardımcı olabilirseniz sevinirim
Sub sirala()
On Error Resume Next
ss = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
If ss < 3 Then Exit Sub
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Range("A4:A" & ss), xlSortOnValues, xlAscending, xlSortNormal
.Sort.SortFields.Add Range("B4:B" & ss), xlSortOnValues, xlAscending, "deneme3,deneme1,deneme2", xlSortNormal
.Sort.SetRange Range("A4:r" & ss)
.Sort.Apply
End With
ss = Cells(Rows.Count, 1).End(xlUp).Row
If ss < 4 Then Exit Sub
For i = ss - 1 To 4 Step -1
If Month(Cells(i, 1)) <> Month(Cells(i + 1, 1)) Then Rows(i + 1 & ":" & i + 7).Insert Shift:=xlDown
Next i
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böyle değişiklikler yapınca kodu komple revize etmeniz gerekir.

Aşağıdaki gibi olabilir...

C++:
Sub sirala()
    On Error Resume Next
    ss = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
    If ss < 3 Then Exit Sub
    With ActiveSheet
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Range("B4:B" & ss), xlSortOnValues, xlAscending, xlSortNormal
        .Sort.SortFields.Add Range("C4:C" & ss), xlSortOnValues, xlAscending, "deneme3,deneme1,deneme2", xlSortNormal
        .Sort.SetRange Range("A4:T" & ss)
        .Sort.Apply
    End With
    ss = Cells(Rows.Count, 2).End(xlUp).Row
    If ss < 4 Then Exit Sub
    For i = ss - 1 To 4 Step -1
        If Month(Cells(i, 2)) <> Month(Cells(i + 1, 2)) Then Rows(i + 1 & ":" & i + 7).Insert Shift:=xlDown
    Next i
End Sub
 
Katılım
24 Nisan 2023
Mesajlar
38
Excel Vers. ve Dili
2016
Teşekkür ederim elinize sağlık
 
Üst