İstenilen rütbe sınıfına göre sıralama

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Tekrar merhaba.

Sorunu pek anlamadım, bazı denemeler yaptım ama malesef sonuç alamadım.

Çözüm için şöyle bir yöntem düşündüm;
-- önce Sayfa2'deki rütbe listesinin bulunduğu alan için rutbe ismini vererek bir AD TANIMLAMASI oluşturup,
-- ardından uygun bir sütunda (ben R sütununu düşündüm), bir sütun ilave edip (kod tarafından sonradan silinmek üzere), eklenen sütunda G sütunundaki rütbelerin, rütbe sıralamasında kaçıncı sırada olduğunu bulup,
-- sıralamayı artık, G sütunu yerine R sütununu ikinci kriter olarak kullanarak (öncelik sırasına göre E,R,C sütunları) gerçekleştirip,
-- son olarak da geçici olarak eklenen R sütunu silinir.

Yukarıdaki işlemlerin tümü (AD TANIMLAMASI dahil) aşağıdaki kod tarafından yapılıyor.
Sıralama alanını A:Z sütun aralığı olarak yazdım ve sıralama işlemi .Sort kelimesinin olduğu tek kod satırında gerçekleşiyor.
.
Rich (BB code):
Sub RUTBEYE_GORE_SIRALA()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationAutomatic '    bu satır sonradan eklendi
Set s1 = Sheets("Sayfa1")
sonsat = s1.Cells(Rows.Count, 1).End(3).Row
If sonsat = 1 Then Exit Sub
    s1.Columns("R:R").Insert Shift:=xlToRight
    ActiveWorkbook.Names.Add Name:="rutbe", RefersTo:="=Sayfa2!$Z$2:$Z$17"
    s1.[R2].Formula = "=MATCH(G2,rutbe,0)"
    s1.[R2].AutoFill Destination:=s1.Range("R2:R" & sonsat)
    s1.Range("A2:Z" & sonsat).Sort Key1:=s1.[E2], Order1:=1, Key2:=s1.[R2], Order2:=1, Key3:=s1.[C2], ORder3:=1
    Columns("R:R").Delete Shift:=xlToLeft
Application.ScreenUpdating = True
MsgBox "RÜTBEye göre sıralama yapıldı."
End Sub
 
Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Sayın Ömer Bey, Allah razı olsun, uğraşmışsızın çok teşekkür ediyorum.

Sizin dediğiniz gibi denedim olmadı, örneğin B bürosu ve C bürosundaki bazı rütbeleri değiştirdim, butona bastığımda sıralama yapıldı diyor ama hiç birşey olmadı.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Ben bir sorun göremiyorum.
Şunu tekrar hatırlatayım; benim 10 numaralı cevaptaki, E sütununun işleviyle ilgili soruma sizin verdiğiniz 11 numaralı cevapta aynen şöyle yazılı;
"İstenilen büroların öncelik sırasına göre önce E sütununda sıralama oluyor, sonra her büroya göre G sütununda rütbeliler sıralanıyor, daha sonra bu rütbeliler de bürolara göre C sütununda sicil sırasına göre sıralama oluyor. Bu şekilde yapmaya çalışıyorum.
Önce E sütunu, sonra G sütunu ve C sütunu şeklinde olacak.
"

Verdiğim kod da aynı sıraya göre işlem yapıyor bence.
Önce E sütununa göre sıralanıyor, E sütunu aynı olanlar kendi içinde G sütununa göre, E ve G sütunu aynı olanlar da kendi içinde C sütununa göre sıralanıyor.
Yeni bir belge hazırlayıp;
-- bir sayfada listenin karışık halini (elle rütbeleri, sicil numaralarını, bürolarını değiştirerek),
-- diğer bir sayfada da kod'un yapmasını istediğiniz olması gereken halini
(verileri değiştirmeden elle satırların yerlerini değiştirerek)
ekleyin ki sorunu anlayayım.

Anlarsak çözeriz.
.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Sayın Ömer Bey, sizinle hem fikiriz zaten, 21 nolu mesajınızdaki kodu 22 nolu mesajımdaki örnek dosyaya ekleyerek gönderdim, bu örnek dosyadaki B bürosu C bürosunun karşısındaki G sütununda bulunan rütbelerin bazılarını elle değiştirdim, butona bastığımda sizin dediğiniz gibi E-G-C sütunlarına göre sıralaması gerekiyor, ama hiç sıralama yapmıyor.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @ASLAN7410
Dosyanızda formül hesaplamasını "el ile" değil "otomatik" yapıp deneyin.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Ben hala sorun göremiyorum doğrusu.

-- aynı büro (E sütunu) aynı rütbedeki kişilerin rütbelerini değiştiriyorum, sıralama değişiyor,
-- aynı büro (E sütunu) ve aynı rütbedeki (G sütunu) kişilerin sicil numaralarını (C sütunu) değiştiriyorum, sıralama yine değişiyor.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @ASLAN7410
Dosyanızda formül hesaplamasını "el ile" değil "otomatik" yapıp deneyin.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Sayın turist, ilginiz için çok teşekkür ediyorum, sayfa üzerindeki formüller kısmından hesaplama seçenekleri elle kalmış, burası hiç aklıma gelmemişti.

Bu kısmı düzeltince istediğim sıralamayı yaptı.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Aynen Sayın @turist .
R sütununa uygulattığım formülün sonuç vermesi gerekiyor çünkü.
En iyisi kod'a hesaplamayı otomatik hale getirecek ilave yapalım işi sağlama alalım.
Aşağıdaki kod satırını Application.ScreenUpdating = False satırından sonraya ekleyin.
.
Application.Calculation = xlCalculationAutomatic
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Valla Sayın turist kod çalıştığı için burası hiç aklıma gelmemişti ki.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Herşey detaylarda gizlidir.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Şimdi tam istediğim sonucu alıyorum, Sayın Ömer Bey, Sayın turist Allah razı olsun ilginiz için ve emekleriniz için çok teşekkür ediyorum.

Hayırlı geceler diliyorum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Mesajlar ardarda geldi fark etmemişsinizdir belki, bundan önceki mesajımı okuyunuz.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Sayfa üzerinde çok şeyler olduğu için bazı şeyler insanın aklına gelmiyor ki, beni mazur görün, inanın kod yazmamıyorum.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Dediğiniz gibi beni uyardıktan sonra Application.Calculation = xlCalculationAutomatic bu kodu eklemişsiniz, böyle daha güzel oldu.

Allah razı olsun.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Her ikinize de bende sonsuz teşekkürlerimi sunuyorum.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Üst