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:
Katılım
21 Ağustos 2007
Mesajlar
108
Excel Vers. ve Dili
excel 2019
Sayfa1 aynen kalarak yapılacak sıralamayı Sayfa2 de gösterebilirsiniz.
 
Katılım
3 Mayıs 2005
Mesajlar
5
Excel Vers. ve Dili
Office 2003
Sayın mrttrn tek kelime ile ifade etmek istiyorum. Süpersin. Bu siteyi seviyorum :)
 

isfa5878

Banned
Katılım
15 Kasım 2007
Mesajlar
117
Excel Vers. ve Dili
excel 2003
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
 
Katılım
21 Ağustos 2007
Mesajlar
108
Excel Vers. ve Dili
excel 2019
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:
Üst