• DİKKAT

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

makro ile sütunda sıralama yapmak

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
301
Excel Vers. ve Dili
EXCELL 365
Merhaba arkadaşlar bir proje ödevim var yardımcı olursanız çok memnun olurum.9 adet sütunda bulunan seri numaralarını küçükten büyüğe doğru sıralayan ve arada boş hücre bulunuyorsa sıralama esnasında onu yok sayıp düzgün bir sıralama yapabilen makroya ihtiyacım var.örneğin:

b2 sütununda aşağıdaki şekilde seri noları var

234567
456327
324784

231095
463831

874932
makro ile sıraladıktan sonraki durumu :

231095
234567
324784
456327
463831
874932
şeklinde olacak.Yalnız bu makro için bir de herhangi bir hücrede sıralama yazan bir buton olucak bu butona basıldıktan sonra otomatik sıralayacak.Ben bir sütunluk örnek verdim bu örnek gibi 9 tane sütun var yanyana .

Hepinize çok tşk ediyorum .Saygılarımla.
 
Merhaba, 9 sütunada aynı anda mı? sıralama yapılacak yoksa sütunlar tek tekmi sıralatılacak. Hepsi aynı anda ise aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 Range("B2:J90").Select
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("B2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range("B2:B90")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1").Select
Application.ScreenUpdating = True
End Sub
 
merhaba ilginize cok teşekkür edıyorum şimdiden 9 sütünuda aynı anda sıralayacak
 
yazmış olduğunuz kod için çok teşekkür ediyorum denedim çalışıyor ama sadeceb sütununu sıralıyor benim isteğim aynı anda 9 sütunuda sıralaması
 
B sutununa göre 9 sütunu sıralar Küçük bir dosya ekleyerek detaylı açıklama yazarsanız sorun daha çabuk çözülür.
 
benım yapmak ıstedıgım bu b den j ye kadar olan sütunları aynı anda sıralasın
 
Yani her sütunun ayrı ayrı kendi içinde küçükten büyüğe sıralanmasını mı istiyorsunuz?
 
Eğer öyleyse arkadaşın kodlarını şöyle değiştirebilirsiniz:

Kod:
Private Sub CommandButton1_Click()
For i = 2 To Cells(1, Columns.Count).End(xlToLeft).Column
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i)), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Next
MsgBox "Tebrikler tabloyu başarılı bir şekilde küçükten büyüğe sıraladınız.", vbInformation, "İsmail SORKUN"

End Sub
 
benım yapmak ıstedıgım bu b den j ye kadar olan sütunları aynı anda sıralasın

Yani her sütunun ayrı ayrı kendi içinde küçükten büyüğe sıralanmasını mı istiyorsunuz?

Eğer öyleyse arkadaşın kodlarını şöyle değiştirebilirsiniz:

Kod:
Private Sub CommandButton1_Click()
For i = 2 To Cells(1, Columns.Count).End(xlToLeft).Column
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i)), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayfa1").Sort
        .SetRange Range(Cells(1, i), Cells(Cells(Rows.Count, i).End(xlUp).Row, i))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Next
MsgBox "Tebrikler tabloyu başarılı bir şekilde küçükten büyüğe sıraladınız.", vbInformation, "İsmail SORKUN"

End Sub

Sayın yusuf44 Desteğiniz için teşekkürler. Sorkun77 Arkadaş baştan 9 sütun aynı anda kendi içinde küçükten büyüğe sıralansın demiş olsa kısadan halledilecekti.Kolay gelsin.

Sayın Sorkun77 Yusuf beyin düzenlediği kod tam sizin istediğiniz gibi bundan iyisi şamda kayısı gibi. Kolay gelsin.
 
Geri
Üst