• DİKKAT

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

Sırala fonksiyonunun uygulaması

Katılım
21 Ağustos 2007
Mesajlar
108
Excel Vers. ve Dili
excel 2019
A,B ve C sutunlarında veriler var.
Diyelimki B sutunu sıralanırken A ve C de ona göre satırlar
sıralansın. Excel deki veri-Sırala daki gibi.

Aşagıdaki gibi bir kodlama olursa daha çok işime yarar.
Çünkü Excel deki gibi sıralamada (İ-i ve I,ı) gibi harf sıralama sorunu olmuyor.
Halbuki Visual Basic de ingilizce harfe (I-i) göre sıralama oluyor.
Private Sub CommandButton1_Click()
If CommandButton1.Visible = True Then
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa1").Sort
.SetRange Range("A2:C16")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub

dikkat
.Sort.SortField s.Add değil .Sort.SortField s.Add olacak. s yapışık.
.Sort.SortField s.Clear değil .Sort.SortFields.Clear olacak. s yapışık
Düzeltildiğindede Bu kodların bulunduğu satırlar hata veriyor.Doğrusunu bekliyorum.
 
Son düzenleme:
Sayfa1 aynen kalarak yapılacak sıralamayı Sayfa2 de gösterebilirsiniz.
 
Sayın mrttrn tek kelime ile ifade etmek istiyorum. Süpersin. Bu siteyi seviyorum :)
 
Private Sub CommandButton1_Click() 'AD A GÖRE
sonsatir = Range("b1").End(xlDown).Row
Range(Cells(1, 1), Cells(sonsatir, 3)).Select
Selection.Sort _
Key1:=Worksheets("Sayfa1").Columns("a"), _
Header:=xlGuess
End Sub

Private Sub CommandButton2_Click() 'TİP E GÖRE
sonsatir = Range("b1").End(xlDown).Row
Range(Cells(1, 1), Cells(sonsatir, 3)).Select
Selection.Sort _
Key1:=Worksheets("Sayfa1").Columns("b"), _
Header:=xlGuess
End Sub

Private Sub CommandButton3_Click() 'NO'A GÖRE
sonsatir = Range("b1").End(xlDown).Row
Range(Cells(1, 1), Cells(sonsatir, 3)).Select
Selection.Sort _
Key1:=Worksheets("Sayfa1").Columns("c"), _
Header:=xlGuess
End Sub
 
Sn İsfa5878; Harika olmuş.Tam istediğim gibi.Çok çok teşekkür ederim.

Daha önce personel programlarımda uzun kodlarla Araya isimleri ekleyip çıkartarak istediğimi yapıyordum.Şimdi en son satıra verileri ekleyip sırala ile düzenlemek çok kolay olacak.
 
Son düzenleme:
Geri
Üst