• DİKKAT

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

Aynı Sayfa İçinde Özel Sıralama İşlemi ( Koordinat verilerek)

  • Konbuyu başlatan Konbuyu başlatan otobus
  • Başlangıç tarihi Başlangıç tarihi
Katılım
11 Şubat 2006
Mesajlar
66
Sayfa İçinde Aynı Anda Birden Fazla Sıralama İşlemi (Koordinat verilerek)

Değerli Forum Üyeleri,

Aşağıda içinden çıkamadığım bir problem var.

Elimde aşağıdaki dosyanın rapor sayfasındaki datalarım var. Bu dataları koordinatları verdiğim aralıkta( AA,AB,AC,AD) ve 5 .satırda yazan numaraya göre sıralamak istiyorum. ( Bu numaralar ın kolon isimleri her ay için aynı aynıdır.)
Amacım Her ayı aynı anda seçtiğim sayıya göre sıralamak.
AA, AB, AC, AD Sıralamanın sınırlarını çizen koordinatlar olmuş olacak. Her yeni ayda bu koordinatları ben yazacağım.

Kodu çalıştırdığımda bize değer giriniz diye sorup Örnekteki yer aldığı kadarı en fazla 9 değerden bir tanesini girip bu kolonlara göre sıralamak istiyorum. 9 dan fazla kolonda olabilir gelecekte. Sıralama sınırları koordinatlar içinde olmalı. Ama aynı anda bütün ayları sıralamalı. Her ayı ayrı ayrı ama aynı kolon koduna göre sıralamalı .(Sarı başlıklara göre tabi)

Örneğe baktığınızda daha rahat anlaşılacağını düşünüyorum.
Umarım çözümü vardır.
Şimdiden elinize sağlık.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Ben açıklamanızdan hiç bir şey anlamadım.
 
Merhaba,

Ben açıklamanızdan hiç bir şey anlamadım.

Necdet Bey,
Aslında haklısınız
Basitce yazmak gerekirse;
Aynı çalışma sayfası içinde farklı alanları sıralamak istiyorum.

Ayrıntılı olarak aşağıdaki notları yazıyorum;

Bunu yaparken koordinatları belli etmek için örnekte de göreceğiniz gibi ( Siyah üzerine beyaz yazılar) AA, AB AC AD yazarak bu aralıklar içinde sıralama yapmak istiyorum.

Sıralamayı da 5 inci satırda yer alan sayılardan birini seçerek yapmak istiyorum.( Açılan kutunun bu aşamada gelmesini hayal ediyorum). Bu şekilde aynı çalışam sayfası içinde bir çok sıralamayı aynı kriterlere göre yapacağım

Cevap yazmış olmanız bile sevindirici umarım açıklayabilmişimdir.

Size ve yardım edeceklere şimdiden teşekkür ediyorum
Saygılar
 
AA, AB AC AD yazarak bu aralıklar içinde sıralama yapmak istiyorum.

Bu aralık nedir? Örneğinizde şu alan diyebibilir misiniz? Biraz excelce konuşursanız herhalde şimdiye kadar çözülürdü diye düşünüyorum.

De ki AA seçildi
bu durumda örneğin A2:Z25 alanı C sütuna göre sıralanacak diye nokta atışı yapsanız olay anlaşılacak ama olmuyor, olamıyor. Ben sizin açıklamalarınızdan bir şey anlamıyorum bir anlayan çıkarsa yanıtlasın.
 
Aynı zamanda Sıralama Tablo değişti.

Ne diyeyim haklısınız. Örneği basitleştirdim. Artık ne kadar yaptım bilemiyorum ama biraz hırsta yaptım:)

Aşağıdaki Excel örneğinde
A6:G37 ‘ yi B6 ya göre
I6:Q23 'yi J6 ya göre
S6:AA26 'yi T6 ya göre
Aynı zamanda sıralama yapmak istiyorum.
Ama bu alanların sayısı artacağını düşünerek koordinat belirlemek istiyorum.

Örnek
A6:G37 yi belirlemek için Sıralama Sınırları Koydum (Örnekte de göreceğiniz gibi: Sıralama Başlangıç ve Bitiş Alanları içinde sıralama yapmalı. Bunları Excel in içine yazdım.
5 in satırdaki sayılar ise sıralama sırasını belirlemek için seçim yapacağım. Örnekteki sıralamada B koduna göre sıralayacak. Bu alanı seçerken bana sıralama kodunu seçiniz diye soracak.
Bu sefer umarım anlatabilmişimdir.
Yardım ve ilgi için yine teşekkür ederim.
Saygılar
 

Ekli dosyalar

Ne diyeyim haklısınız. Örneği basitleştirdim. Artık ne kadar yaptım bilemiyorum ama biraz hırsta yaptım:)

Aşağıdaki Excel örneğinde
A6:G37 ‘ yi B6 ya göre
I6:Q23 'yi J6 ya göre
S6:AA26 'yi T6 ya göre
Aynı zamanda sıralama yapmak istiyorum.
Ama bu alanların sayısı artacağını düşünerek koordinat belirlemek istiyorum.

Örnek
A6:G37 yi belirlemek için Sıralama Sınırları Koydum (Örnekte de göreceğiniz gibi: Sıralama Başlangıç ve Bitiş Alanları içinde sıralama yapmalı. Bunları Excel in içine yazdım.
5 in satırdaki sayılar ise sıralama sırasını belirlemek için seçim yapacağım. Örnekteki sıralamada B koduna göre sıralayacak. Bu alanı seçerken bana sıralama kodunu seçiniz diye soracak.
Bu sefer umarım anlatabilmişimdir.
Yardım ve ilgi için yine teşekkür ederim.
Saygılar
Anlattıklarınıza göre, çözüm olabilecek bir çalışma ekli dosyadadır.
Baştaki 2012 Ocak bölümü örnek olarak düzenlenmiştir.
A1 hücresindeki OK tuşlarına basarak sıralama gerçekleşmektedir.
Gerekli ve gereksiz olan kısımları belirlerseniz, diğer alanlar da benzer şekilde düzenlenebilir.
İnceleyiniz.
 

Ekli dosyalar

Cevap için teşekkürler ama diğer ayları anda anda sıralamasını istiyoruz.
Çünkü çok ay var.
Ve aynı anda aynı kritere göre sıralama yapmam gerekiyor.
 
Cevap için teşekkürler ama diğer ayları anda anda sıralamasını istiyoruz.
Çünkü çok ay var.
Ve aynı anda aynı kritere göre sıralama yapmam gerekiyor.

Yapılan örnek çalışma, size bu konuda yol göstermek içindir.
Örneğe göre diğer alanlarıda sayfa yapılarına ve VBA kodlarına göre kendiniz düzenleyebilirsiniz.
 
Tekrar tesekkurler
Ama nasıl yapacağım . Bilmiyorum.
Yardımınız olursa sevirim.
 
Merhaba,

Çok pratik ve çok genel bir çözüm öneriyorum. Gerekirse kodlara [Z-A] özelliği de ekleyebiliriz.

Dosyanın şekli şemali ekteki gibi olmalı. Ben sizin ilk eklediğiniz dosyada 1-2-3... diye giden sonraki dosyada A-B-C... diye yazdığınız satırı gereksiz diye sildim. Eğer bu satırlar varsa aşağıdaki kodda ...Ofset(1,0) daki 1 için 2, target.row = 5 deki 5 de 6 yapmalısınız.

Gönderdiğm dosyada 5. satırda hangi hücreye çift tıklarsanız o alanı tıkladığınız sütuna göre [A-Z] şeklinde sıralar.

Dosyada Başlıktan önceki belirttiğiniz ay adları ile başlık satırı ve verilerden sonra toplam satırı arasında en az 1 satır boş bulunmalıdır. Ayrıca Gruplar arasında da bir sütun boş olmalıdır.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    If Not Target.Row = 5 And Target.Value = "" Then Exit Sub
    Range(Target.CurrentRegion.Offset(1, 0).Address).Sort Key1:=Range(Target.Address)
 
End Sub
 

Ekli dosyalar

Merhaba,

Çok pratik ve çok genel bir çözüm öneriyorum. Gerekirse kodlara [Z-A] özelliği de ekleyebiliriz.

Dosyanın şekli şemali ekteki gibi olmalı. Ben sizin ilk eklediğiniz dosyada 1-2-3... diye giden sonraki dosyada A-B-C... diye yazdığınız satırı gereksiz diye sildim. Eğer bu satırlar varsa aşağıdaki kodda ...Ofset(1,0) daki 1 için 2, target.row = 5 deki 5 de 6 yapmalısınız.

Gönderdiğm dosyada 5. satırda hangi hücreye çift tıklarsanız o alanı tıkladığınız sütuna göre [A-Z] şeklinde sıralar.

Dosyada Başlıktan önceki belirttiğiniz ay adları ile başlık satırı ve verilerden sonra toplam satırı arasında en az 1 satır boş bulunmalıdır. Ayrıca Gruplar arasında da bir sütun boş olmalıdır.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    If Not Target.Row = 5 And Target.Value = "" Then Exit Sub
    Range(Target.CurrentRegion.Offset(1, 0).Address).Sort Key1:=Range(Target.Address)
 
End Sub

Necdet Bey,
Çözümünüz çok pratik fakat aynı zamanda sıralama bu örneğinizde olamıyor. Değil mi?
Çok ama çok teşekkkür ediyorum. Bu kadarı ile idare etmeye çalışayım olmaz ise sizi tekrar rahatsız ederim. Olur mu?
Sizinde aklınıza hepsini aynı anda sıralama ile ilgili bir çözüm gelirse extra sevinirim.
iyi bayramlar
 
Merhaba,

Siz seçtiğiniz sütun başlığına göre tüm aylarda sıralama yapsın istiyorsunuz sanırım.

Yine aynı şartlar geçerli olmak üzere, aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim c   As Range
    Dim Adr As String
    
    If Not Target.Row = 5 Or Target.Value = "" Then Exit Sub
    Application.ScreenUpdating = False
    
    With Cells
        Set c = .Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            Adr = c.Address
            Do
                Range(c.CurrentRegion.Offset(1, 0).Address).Sort Key1:=Range(c.Address)
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    End With
    
    Application.ScreenUpdating = True
    
End Sub
 

Ekli dosyalar

Merhaba,

Siz seçtiğiniz sütun başlığına göre tüm aylarda sıralama yapsın istiyorsunuz sanırım.

Yine aynı şartlar geçerli olmak üzere, aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Dim c   As Range
    Dim Adr As String
    
    If Not Target.Row = 5 Or Target.Value = "" Then Exit Sub
    Application.ScreenUpdating = False
    
    With Cells
        Set c = .Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            Adr = c.Address
            Do
                Range(c.CurrentRegion.Offset(1, 0).Address).Sort Key1:=Range(c.Address)
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    End With
    
    Application.ScreenUpdating = True
    
End Sub

Hocam (izin verirseniz hocam diyeceğim)

Elinize emeğinize sağlık
Budur
İyi bayramlar
 
İyi bayramlar.
 
Geri
Üst