• DİKKAT

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

excelde otomatik sıralama

Katılım
2 Kasım 2007
Mesajlar
283
Excel Vers. ve Dili
excell-türkçe
s.a.
arkadaşlar uzun süredir takip edemiyordum...nasılsınız arkadaşlar...ne var ne yok...ne mutlu ki sizinle beraberim. :)))

çünkü bu siteden çok yararlandım, buz siteyi oluşturan arkadaşlara ayrıca teşekkürler....

bir sorum olacaktı arkadaşlar...
şöyleki;
excelde oluşturduğum sayfaya ekleme yaptığım zaman otomatik olarak sıralamasını istiyorum...
yardımcı olabilir misiniz................
 

Ekli dosyalar

Merhabalar

Formülsüz,Makrosuz yapmak isterseniz önce kaç sütunda veri varsa seçiniz,sonradan AZ işaretini menüden bulunuz oraya tıklayınız ve otomatikmen sıralanacaktır.

İyi çalışmalar.
 
teşekkürler mami68
ama benim istediğim en alta başka bir firma ismi ve firma bilgileri girdiğim zaman da otomatik olarak sıralaması....
yani hiç bir tuşa basmadan kendiğinden otomatikman yapmasını istiyorum...
 
Aşagıdaki kodları sayfanın kod bölümüne yazınız

Private Sub Worksheet_Change(ByVal Target As Range)
Range("A2:Z3000").Sort Key1:=Range("a2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("b1").Select
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
End Sub
 
Alternatif

Yine aşağıdaki kodlar ilgili sayfanın kod bölümünde olmalı.

A sütunundaki bir değişiklikte sıralama yapar ve aynı satırı bulmaya çalışır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
Dim Sat As Long
Dim Kolon As Integer
Dim Deger As String
Dim c As Range
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target.Row < 4 Then Exit Sub
Kolon = [IV3].End(1).Column
Deger = Target.Value
Sat = [A65536].End(3).Row
Range(Cells(4, "A"), Cells(Sat, Kolon)).Sort Key1:=Cells(4, "A")
Set c = Range("A4:A" & Sat).Find(Deger)
Range("B" & c.Row).Select
Son:
End Sub
 

Ekli dosyalar

Çok güzel olmuş teşekkür ederim. Peki bu otomatik sıralamayı 4 hücreyede uygulayabilirmiyiz. Yani a sütünuna veri girince otomatik sıralama yaptığı gibi b,c,d sütünlarınada veri girince sıralamayı yenilemeli.
 
Çok güzel olmuş teşekkür ederim. Peki bu otomatik sıralamayı 4 hücreyede uygulayabilirmiyiz. Yani a sütünuna veri girince otomatik sıralama yaptığı gibi b,c,d sütünlarınada veri girince sıralamayı yenilemeli.

Merhaba,

Düşünce başlangıçta iyiymiş gibi görünse bile büyük dosyalarda sıkıntı yaratabilir.

Bunun yerine istediğiniz zaman sıralama yapacak bir yol bulunabilinir.

Örnek 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

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, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
    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
 

Ekli dosyalar

teşekkür ederim ama bence otomatik sıralamalı hali daha kullanışlı olurdu.
 
Otomatik Sıralama Yardımı

Sayın Necdet bey, bu otomatik sıralamayı ekte gönderdiğim tabloya nasıl uygulayabiliriz.
Bilgi verirseniz memnun olurum.:???:
 

Ekli dosyalar

Run time error 1004_application defined or object defined error diye bir hata verdi. Galiba kodlarda bir sorun var. Excel 2000 kullanıyorum. Acaba hatanın nedeni excelin eski sürüm olması olabilirmi.
 
Son düzenleme:
Merhaba,

Aşağıdaki kodlar ilgili sayfanın kod bölümünde olmalı. B-C-D sütunlarında çift tıkladığınızda B-C-D ye göre sıralar, diğer sütunlara tıklanırsa ilgili sütuna göre sıralama yapar.

Son sütuna (G) 1 yazarsanız Küçükten Büyüğe, 2 Yazarsanız Büyükten Küçüğe Sıralar.

Kodları dener misiniz?

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, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
    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
If Target.Column > 1 And Target.Column < 5 Then
    Range(Cells(2, 1), Cells(SonSatir, SonKolon)).Sort Key1:=[B1], Order1:=Cells(1, SonKolon + 1), Key2:=[C2], Order2:=Cells(1, SonKolon + 1), Key3:=[D2], order3:=Cells(1, SonKolon + 1)
Else
    Range(Cells(2, 1), Cells(SonSatir, SonKolon)).Sort Key1:=Cells(1, Target.Column), Order1:=Cells(1, SonKolon + 1)
End If
End Sub
 

Ekli dosyalar

Tam istediğim gibi olmamış ama yinede teşekkür ederim. Ben ilk örneğinizdeki gibi satırlarında yerlerinin otomatik olarak değişmesini istemiştim ama buda iş görür. Sizi daha fazla meşgul etmek istemiyorum. Teşekkür ederim.:icelim:
 
Tam istediğim gibi olmamış ama yinede teşekkür ederim. Ben ilk örneğinizdeki gibi satırlarında yerlerinin otomatik olarak değişmesini istemiştim ama buda iş görür. Sizi daha fazla meşgul etmek istemiyorum. Teşekkür ederim.:icelim:

Satırların yerlerinin değişmemesi derken?
 
Satırların yerlerinin değişmemesi derken?

Yani altıncı mesajdaki örneğinizdeki gibi, en alta yeni veri girdikçe, o satırı alfabetik sıraya göre uygun yere kaydıran makro gibi. Bu işlemi her 3 satırda da tekrarlamalı. :)
Ayrıca siz galiba mesajımı yanlış okumuşsunuz. Ben değişmemesini değil değişmesini istiyorum.:)
Saygılar...
 
Son düzenleme:
Yani altıncı mesajdaki örneğinizdeki gibi, en alta yeni veri girdikçe, o satırı alfabetik sıraya göre uygun yere kaydıran makro gibi. Bu işlemi her 3 satırda da tekrarlamalı. :)
Ayrıca siz galiba mesajımı yanlış okumuşsunuz. Ben değişmemesini değil değişmesini istiyorum.:)
Saygılar...

Ben uygulamada 6. mesajdaki gibi bir makroyu kullanmazdım. Hele sizin dediğiniz gibi her sütunda otomatik değimesini istemekle ipin ucu kaçar diye size farklı bir çözüm önermiştim.

Sizin örneğinizde veriler hemen hemen benzer olduğu için satırların değişmediğini sanıyorsunuz ama öyle değildi. Ayrıca özel isteğiniz vardı onu da gerçekleştirdim ama sanırım siz olayı pek anlamadınız. Neyse....

Kodu aşağıdaki şekilde kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
Dim Sat As Long
Dim Kolon As Integer
Dim Deger As String
Dim c As Range
If Intersect(Target, [[B][COLOR=red]A:A[/COLOR][/B]]) Is Nothing Then Exit Sub
If Target.Row < 4 Then Exit Sub
Kolon = [IV3].End(1).Column
Deger = Target.Value
Sat = [A65536].End(3).Row
Range(Cells(4, "A"), Cells(Sat, Kolon)).Sort Key1:=Cells(4, Target.Column)
Set c = Range("A4:A" & Sat).Find(Deger)
Range("B" & c.Row).Select
Son:
End Sub

[A:A] makronun sadece A sütunundaki değişikliği dikkate al demektir. Siz orada [A:A] (-ki kolon belirtir) yı [A:Z] olarak değiştirirseniz A ve Z sütunları arasında her değişiklikte çalışır.

Sonra da bol miktarda sıralamada bana kızmazsınız umarım :)
 
teşekkür ederim hocam.

Ben uygulamada 6. mesajdaki gibi bir makroyu kullanmazdım. Hele sizin dediğiniz gibi her sütunda otomatik değimesini istemekle ipin ucu kaçar diye size farklı bir çözüm önermiştim.

Sizin örneğinizde veriler hemen hemen benzer olduğu için satırların değişmediğini sanıyorsunuz ama öyle değildi. Ayrıca özel isteğiniz vardı onu da gerçekleştirdim ama sanırım siz olayı pek anlamadınız. Neyse....

Sonra da bol miktarda sıralamada bana kızmazsınız umarım :)

Olurmu hiç hocam. Sizin gibi değerli bir üstada kızmak benim ne haddime. Sizin sayenizde insanlar pek çok şey öğreniyor. Kızmak bir yana karşınızda saygıyla eğiliyorum. Hz.Ali'ninde dediği gibi."Bana bir harf öğretenin kırk yıl kölesi olurum" Sağlıcakla kalın. Teşekkürler ve saygılar.:bravo::dua:
Ayrıca dediğinizi yaptım a:z yaptım ama yine sadece a sütununa göre sıralama yapıyor,diğer sütünlar da değişme olmuyor.
 
Son düzenleme:
Geri
Üst