• DİKKAT

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

Belirli aralığı doubleclick ile artan/azalan sıralatma-Necdet Yeşertener dosyası

Katılım
27 Aralık 2008
Mesajlar
4
Excel Vers. ve Dili
2007
Herkese merhaba,
Necdet Bey'in 04/06/2005 tarihinde paylaştığı ekteki dosya çok işimi gördü.
Ekteki dosyada; herhangi bir hücreye çift tıkladığımızda tıklanan sütuna göre Küçükten Küçüğe ya da Büyükten Küçüğe sıralayan kodları göreceksiniz.

Sıralama şeklini; dosyada kullanılan son kolondan hemen sonra ve 1. satırdaki hücreye 1 ve 2 kullanarak belirleyebiliriz.

1. Küçükten Büyüğe
2. Büyükten Küçüğe

Ancak o kodları kullanabilmem için şunları da yapabiliyor olmalıyım:
1- Sıralamayı yalnızca C3:FE265 aralığında yapması,
2- Sıralama için de 2. satırda yer alan sütun başlığına ilk doubleclick'te azalan şekilde, ikinci doubleclick'te ise artan şekilde sıralaması,

Böyle bir şey yapabilir miyiz?
Kodları da aşağıda yapıştıyorum:
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim SonKolon As Integer
Dim SonSatir As Long
SonKolon = [IV1].End(1).Column - 1
If Target.Column > SonKolon Then
    MsgBox "Sınırlar İçinde Kalalım Lütfennnnn :)", vbCritical, "www.excel.web.tr"
    Exit Sub
End If
If Cells(1, SonKolon + 1) <> 1 And Cells(1, SonKolon + 1) <> 2 Then
    MsgBox "Sıralama Şekli Belli Değil, Küçükten Büyüğe Sıralamak İçin : 1, Büyükten Küçüğe Sıralamak İçin : 2 Olmalıdır " & Cells(1, SonKolon + 1)
    Cells(1, SonKolon + 1).Activate
    Exit Sub
End If
SonSatir = [A65536].End(3).Row
Range(Cells(2, 1), Cells(SonSatir, SonKolon)).Sort Key1:=Cells(1, Target.Column), Order1:=Cells(1, SonKolon + 1)
End Sub

Yukarıda istediğim iki şeyi yapabilmek için üstteki kodlarda nasıl bir değişiklik yapmalıyım?
Yardımlarınız için şimdiden teşekkürler,
 

Ekli dosyalar

Son düzenleme:
Excelin kendi özelliklerinde bu pencere mevcut

Application.Dialogs(39).Show


kod:

Kod:
Sub sırala()
Range(Cells(3, 3), Cells(265, "fe")).Select
Application.Dialogs(39).Show
Range("a1").Select
End Sub
 
Halit Bey merhaba,
Sayenizde yeni ve güzel bir özellik keşfetmiş oldum. Ancak bu özellik anladığım kadarıyla sıralatma penceresinin gelmesini sağlıyor. Halbuki istenen sıralatma işlemini otomatik yapması.
Aynı alışveriş sitelerindeki gibi, hangi sütun başlığına doubleclick/click yaparsak(örn. fiyat) o sütunu esas alarak azalan/artan sıralama yapması

Aslında üstteki yolladığım kodlar bunu yapıyor ama;
O örnekte başlık satırı A1'den başlıyor - ancak benimkinde başlıklar 3. satırda (C3, C4,.)
Sıralatmayı son sütunun birinci satırındaki 1 veya 2 değerine göre yapıyor - ancak birinci double clickte azalan, ikinci doubleclickde artan sıralatması gerekiyor.

Nasıl yapabiliriz?
Teşekkürler,
 
Biraz yabancı kaynaklardan faydalanarak biraz da kendi eklemelerimle aşağıdaki şekilde hallettim:

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row = 2 Then
        Sayfa2.Range("C3:FE650").Sort Key1:=Range(Target.Address), Order1:=xlDescending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End If
End Sub

İlginiz için teşekkürler,
 
Geri
Üst