Sütunlara Göre Sıralama

Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar merhaba,

ekteki dosyada da belirttiğim sütunları makro koyarak sıralamak istiyorum.

Teşekkürler.
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
isyediğin böyle bir şeymi?
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
elinize sağlık teşekkürler,

azalan şeklinde sıralamak için formülü nasıl düzeltmemiz gerekli?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,301
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

1. satırda hangi kolonda tek tıklama yada sağ tıklama yapılırsa tek tıklamada A-Z, Sağ tıklamada Z-A şeklidne sıralama yapar.

İlgili kodlar ilgili sayfanın kod bölümündedir. Satır ve Sütunları otomatik bulur.

Kod:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
   Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=2
End If
Target.Offset(1, 0).Select
Son:
End Sub


Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
   Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=1
End If
Son:
End Sub
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
arkada&#351;lar cevaplar&#305;n&#305;z ve ilginiz i&#231;in te&#351;ekk&#252;rler.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar yeni bir sorum var;

Ekteki dosyada olduğu gibi sıralama yapılacak bölümü nasıl sınırlandırabiliriz. yani en altta bulunan toplam satırı sıralamaya dahil olmayacak; fakat sıralama yapılacak satır sayısı sürekli değişiyor.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
SonS = [A65536].End(3).Row sat&#305;r&#305;n&#305;
SonS = [A65536].End(3).Row - 1 olarak de&#287;i&#351;tirin
toplam&#305;n son sat&#305;r, oldu&#287;u varsay&#305;lm&#305;&#351;t&#305;r.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Sn. Necdet_Yesertener'in yollad&#305;&#287;&#305; dosya daha kapsaml&#305; olmu&#351; te&#351;ekk&#252;rler fakat ben ilk &#246;rnekteki kodlar&#305; dosyama uyarlad&#305;m.

Kod:
Sub b_stunu()

    Range("A3:D1000").Select
    Range("b3").Activate
    Selection.Sort Key1:=Range("b3"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
yukar&#305;daki kodu nas&#305;l d&#252;zeltebiliriz?

Kod:
Sub b_stunu()
    SonS = [A65536].End(3).Row - 1
    Range("A3:D1000").Select
    Range("b3").Activate
    Selection.Sort Key1:=Range("b3"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=SonS, _
        DataOption1:=xlSortNormal
End Sub
&#351;eklinde d&#252;zeltmeye &#231;al&#305;&#351;t&#305;m olmad&#305;.
 
Son düzenleme:
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar bu kodu verdiğim örnekteki gibi değiştirmeme yardım eder misiniz?

Kod:
Sub b_stunu()

    Range("A3:D1000").Select
    Range("b3").Activate
    Selection.Sort Key1:=Range("b3"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,301
Excel Vers. ve Dili
Ofis 365 Türkçe
Neden bir s&#305;ralama i&#231;in 3 adet program yazmak istiyorsunuz anlamakta g&#252;&#231;l&#252;k &#231;ekiyorum.

A&#351;a&#287;&#305;daki kodlar&#305; sayfan&#305;n kod b&#246;l&#252;m&#252;ne kopyalay&#305;n ve hangi s&#252;tunda &#231;ift t&#305;klarsan&#305;z o s&#252;tuna g&#246;re 3. sat&#305;rdan itibaren K&#252;&#231;&#252;kten B&#252;y&#252;&#287;e s&#305;ralar.

Parametrik d&#252;&#351;&#252;nmek her zaman daha iyidir.


Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
SonK = [A2].End(2).Column
SonS = [A65536].End(3).Row - 1
If Target.Column <= SonK Then
   Range(Cells(3, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, Target.Column), Order1:=1
End If
[A1].Activate
Son:
End Sub
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu şekilde bir deneyiniz.
Kod:
Sub Makro1()
[a3].Sort Key1:=Range("B:B"), Order1:=xlDescending, Key2:=Range("C:C") _
, Order2:=xlDescending, Key3:=Range("D:D")
End Sub
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Neden bir sıralama için 3 adet program yazmak istiyorsunuz anlamakta güçlük çekiyorum.

Aşağıdaki kodları sayfanın kod bölümüne kopyalayın ve hangi sütunda çift tıklarsanız o sütuna göre 3. satırdan itibaren Küçükten Büyüğe sıralar.

Parametrik düşünmek her zaman daha iyidir.
Necdet Bey, sizin benim yapmak istediğimi geliştirerek yaptığınızı biliyorum fakat makrolar hakkında pek bilgim yok, bir önceki mesajda verdiğim makroyu dosyama uyguladım ve diğer dosyalarıma da değişiklik yaparak uygulayabiliyorum.

Kod:
Sub b_stunu()

    Range("A3:D1000").Select
    Range("b3").Activate
    Selection.Sort Key1:=Range("b3"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
bu makroyu son dolu hücreden önceki hücreleri kapsayasacak şekilde değiştirirsem işimi fazlasıyla görecek. Tekrar teşekkürler...
 
Katılım
5 Nisan 2007
Mesajlar
89
Excel Vers. ve Dili
2007
Kod:
Sub b_stunu()

    Range("A3:D" & [A65536].End(3).Row - 1).Select
    Range("b3").Activate
    Selection.Sort Key1:=Range("b3"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkada&#351;lar yarc&#305;mc&#305; olan herkese te&#351;ekk&#252;rler. Son makro sorunumu halletti.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar yine bir sorum olacak;

yukarıdaki makro ile sıralama yaptığım sütunlarda şöyle bir formül ile başka bir dosyadan veri alıyorum;

=EĞER(EHATALIYSA(DÜŞEYARA(B4;'\\xx.xx.x.xxx\users\aaa\My Documents\Data\[31.01.08.xls]Sayfa1'!$A$1:$E$14;3;YANLIŞ));"---";DÜŞEYARA(B4;'\\xx.xx.x.xxx\users\aaa\My Documents\Data\[31.01.08.xls]Sayfa1'!$A$1:$E$14;3;YANLIŞ))

fakat formül sonucu "---" ise azalan sıralama yaptığımda bu hücreler listenin en başında yer alıyor.

Azalan sıralama yaptığımda bu verilerin listenin en altında yer alması için makroyu nasıl düzeltebilirim?
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar yine bir sorum olacak;

yukarıdaki makro ile sıralama yaptığım sütunlarda şöyle bir formül ile başka bir dosyadan veri alıyorum;

=EĞER(EHATALIYSA(DÜŞEYARA(B4;'\\xx.xx.x.xxx\users\aaa\My Documents\Data\[31.01.08.xls]Sayfa1'!$A$1:$E$14;3;YANLIŞ));"---";DÜŞEYARA(B4;'\\xx.xx.x.xxx\users\aaa\My Documents\Data\[31.01.08.xls]Sayfa1'!$A$1:$E$14;3;YANLIŞ))

fakat formül sonucu "---" ise azalan sıralama yaptığımda bu hücreler listenin en başında yer alıyor.

Azalan sıralama yaptığımda bu verilerin listenin en altında yer alması için makroyu nasıl düzeltebilirim?
Arkadaşlar makroyu dediğim gibi değiştirmenin bir yolu var mıdır? Yardımcı olacaklara şimdiden teşekkürler...
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
makroyu dedi&#287;im &#351;ekilde d&#252;zeltmek m&#252;mk&#252;n de&#287;il mi? ba&#351;ka bir makro mu yazmak gerekli acaba?
 
Üst