• DİKKAT

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

Dört şarta kadar sıralama yapma kodu...

  • Konbuyu başlatan Konbuyu başlatan manly
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Nisan 2005
Mesajlar
690
Excel Vers. ve Dili
Excel 2003 Türkçe
Ekte gönderdiğim dosyada gelen userform üzerindeki "Dört Şart Sıralama" butonuna tıkladığımda gelen menüyü geliştirmek istiyorum... Şartlarım şöyle,

Sarı renk ile boyadığım sütunları sıralamasını ben seçmem kaydı ile sıralatmak istiyorum..Bu sıralama sırası 4 ü geçmeyecek ve sıralama işleminden sonra tüm sayfadaki veriler SIRALA sayfasına kopyalanacak..
 

Ekli dosyalar

Merhaba
Neyi siz seçeceksiniz bunu anlamadım. Bu sarıya boyadığınız sütunlardan birini seçip mi sıralama yapacaksınız bunu mu anlamalıyım. Ayrıca yapılacak sıralama neye göre olacak
A
B
C
D
mi_?
Yoksa
D
C
B
A
şeklinde mi_?
 
Bu sütunlardan dört tanesini seçerek sıralama yapmak istiyorum.. Ancak sıralama sırası bana ait olacak ben her defasında seçimle yapmak istiyorum... sıralama A B C D şeklinde olacak...
 
Son düzenleme:
Bu sütunlardan dört tanesini seçerek sıralama yapmak istiyorum.. Ancak sıralama sırası bana ait olacak ben her defasında seçimle yapmak istiyorum... sıralama A B C D şeklinde olacak...

Sanırım anlaşamadığımız bir nokta var. Sıralamayı nasıl seçeceksiniz. Mesela C D E I sütunlarının sıralanmasını istiyorsunuz. Bunları siz kendiniz istediğiniz sıralamaya göre belirlemek mi istiyorsunuz.
mesela
1. seferinde D E C I sütunları
2. seferinde I C E D sütunları
3. seferinde C D E I sütunları şeklinde mi olacak_?
 
C D E I W Z sütunlarınından seçim olacak ama

1. seferinde C D E I
2. seferinde C W E Z
3. seferinde W D I Z gibi 6 sütun karışık seçilebilecek...

Evet kendim istediğim sıralamaya göre belirlemek istiyorum..
 
C D E I W Z sütunlarınından seçim olacak ama

1. seferinde C D E I
2. seferinde C W E Z
3. seferinde W D I Z gibi 6 sütun karışık seçilebilecek...

Evet kendim istediğim sıralamaya göre belirlemek istiyorum..

Peki her seferinde 6'sı seçilecek mi_? Yoksa sadece sizin girdiğiniz sütun kadar mı olacak
 
Her defasında 6'sı seçilmeyecek, 4'e kadar seçim olacak. Bu 1'de olabilir, 2'de olabilir, 3'te olabilir, 4'te olabilir ama 4'ü geçmeyecek...
 
Her defasında 6'sı seçilmeyecek, 4'e kadar seçim olacak. Bu 1'de olabilir, 2'de olabilir, 3'te olabilir, 4'te olabilir ama 4'ü geçmeyecek...

3 seçenek sıralamayı kabul ediyor.
mesela C'yi sıralayacak C'yi sıraladıktan sonra ona göre D'yi Sıralayacak sonra C'i ve D'yi sıraladıktan sonra sıralamaya göre E'ye göre sıralama yapacak. Dilerseniz gönderebilirim.
 
Tamam hocam gönderin...

Boş bir module kopyalayın ve deneyin. Sonuçları gözlemleyin.
Kodu 2011 SİPARİŞLER bu sekmede çalıştırın
Kod:
Option Explicit
Sub sırala_aktar_61()
Dim ts, kaplan, trabzonspor, bordo, mavi, hamsi
Dim t1, t2, t3, t4
hamsi = MsgBox("Sıralama Yapıp Aktarıyorum", vbYesNo, "Onay")
If hamsi = vbNo Then Exit Sub
Application.ScreenUpdating = False
t1 = InputBox("1. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"1. Sütun Girişi")
If t1 <> "" Then
ts = t1
End If
t2 = InputBox("2. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"2. Sütun Girişi")
If t2 <> "" Then
kaplan = t2
End If
t3 = InputBox("3. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"3. Sütun Girişi")
If t3 <> "" Then
trabzonspor = t3
End If
If ts <> "" And kaplan = "" And trabzonspor = "" Then
Range("C2:Z65536").Sort key1:=Range(ts & 1), order1:=xlAscending
ElseIf ts <> "" And kaplan <> "" And trabzonspor = "" Then
Range("C2:Z65536").Sort key1:=Range(ts & 1), order1:=xlAscending, _
key2:=Range(kaplan & 1), order2:=xlAscending
ElseIf ts <> "" And kaplan <> "" And trabzonspor <> "" Then
Range("C2:Z65536").Sort key1:=Range(ts & 1), order1:=xlAscending, _
key2:=Range(kaplan & 1), order2:=xlAscending, key3:=Range( _
trabzonspor & 1), order3:=xlAscending
ElseIf ts <> "" And kaplan <> "" And trabzonspor <> "" Then
Range("C2:Z65536").Sort key1:=Range(ts & 1), order1:=xlAscending, _
key2:=Range(kaplan & 1), order2:=xlAscending, key3:=Range( _
trabzonspor & 1), order3:=xlAscending
End If
mavi = Range("B65536").End(xlUp).Row
Range("B2:Z" & mavi).Copy Destination:=Sheets("SIRALA").Range("B2")
Application.ScreenUpdating = True
MsgBox "Sıralama Yapıp Aktardım", vbInformation, "Bitiş"
End Sub
 
Bu kodu ise istediğiniz sayfada çalıştırabilirsiniz
Kod:
Option Explicit
Sub sırala_aktar_61()
Dim ts, kaplan, trabzonspor, bordo, mavi, hamsi
hamsi = MsgBox("Sıralama Yapıp Aktarıyorum", vbYesNo, "Onay")
If hamsi = vbNo Then Exit Sub
Application.ScreenUpdating = False
ts = InputBox("1. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"1. Sütun Girişi")
kaplan = InputBox("2. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"2. Sütun Girişi")
trabzonspor = InputBox("3. Sütun" & vbLf _
& "C - D - E - I -W - Z Sütunlarından Birini Giriniz", _
"3. Sütun Girişi")
If ts <> "" And kaplan = "" And trabzonspor = "" Then
Sheets("2011 SİPARİŞLER").Range("C2:Z65536").Sort key1:=Sheets("2011 SİPARİŞLER"). _
Range(ts & 1), order1:=xlAscending
ElseIf ts <> "" And kaplan <> "" And trabzonspor = "" Then
Sheets("2011 SİPARİŞLER").Range("C2:Z65536").Sort key1:=Sheets("2011 SİPARİŞLER"). _
Range(ts & 1), order1:=xlAscending, key2:=Sheets("2011 SİPARİŞLER").Range(kaplan & 1), _
order2:=xlAscending
ElseIf ts <> "" And kaplan <> "" And trabzonspor <> "" Then
Sheets("2011 SİPARİŞLER").Range("C2:Z65536").Sort key1:=Sheets("2011 SİPARİŞLER"). _
Range(ts & 1), order1:=xlAscending, key2:=Sheets("2011 SİPARİŞLER").Range(kaplan & 1), _
order2:=xlAscending, key3:=Sheets("2011 SİPARİŞLER").Range(trabzonspor & 1), order3:=xlAscending
End If
mavi = Sheets("2011 SİPARİŞLER").Range("B65536").End(xlUp).Row
Sheets("2011 SİPARİŞLER").Range("B2:Z" & mavi).Copy Destination:=Sheets("SIRALA").Range("B2")
Application.ScreenUpdating = True
MsgBox "Sıralama Yapıp Aktardım", vbInformation, "Bitiş"
End Sub
 
Hocam çok teşekkürler, E sütununu F sütunu ile değiştirmek istesek nasıl bir değişiklik olacak, bilgi amaçlı soruyorum.. Olur ya bir değişiklik gerekirse kod farkını inceleyeceğim..
 
Hocam çok teşekkürler, E sütununu F sütunu ile değiştirmek istesek nasıl bir değişiklik olacak, bilgi amaçlı soruyorum.. Olur ya bir değişiklik gerekirse kod farkını inceleyeceğim..

Aslında açılan İnputboxlara B'den Z'ye kadar hepsini girebilirsiniz. Ben orda gördüğünüz harfleri size bilgi olsun diye yazdım.
Kod işinizi gördü mü_?
 
Evet gayet güzel, tüm sütunlar için olduğunu bilmek daha güzel..çok teşekkürler... değişik bir konuda tekrar görüşmek üzere kolay gelsin...
 
Hocam son mesajımdan sonra aklıma bu konuyu süz içinde kullanabilirmiyiz diye bir soru geldi..bu mümkün mü acaba....

Onunla ilgili yeni konuyu da açtım....
 
Son düzenleme:
Geri
Üst