• FORUMU MOBİL UYGULAMADAN TAKİP EDİN

    Forumu isteyen üyelerimiz Tapatalk (Harici bir hizmet) üzerinden mobil uygulamadan takip edebilirler.
    iOS için : https://itunes.apple.com/app/id307880732?mt=8
    Android için : https://play.google.com/store/apps/details?id=com.quoord.tapatalkpro.activity
    adreslerinden indirebilirsiniz.

    Bir iki haftaya da foruma özel kendi uygulamamız yayında olacak.
ALTIN ÜYELİK Hakkında Bilgi
-----------------------

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

Katılım
8 Mart 2011
Mesajlar
12,052
Beğeniler
340
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#21
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#22
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ı.
 
Katılım
8 Mart 2011
Mesajlar
12,052
Beğeniler
340
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#23
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#24
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
4,928
Beğeniler
410
Excel Vers. ve Dili
2013 64Bit
English
#25
Sayın @ASLAN7410
Dosyanızda formül hesaplamasını "el ile" değil "otomatik" yapıp deneyin.
 
Katılım
8 Mart 2011
Mesajlar
12,052
Beğeniler
340
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#26
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
4,928
Beğeniler
410
Excel Vers. ve Dili
2013 64Bit
English
#27
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#28
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ı.
 
Katılım
8 Mart 2011
Mesajlar
12,052
Beğeniler
340
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#29
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#31
Valla Sayın turist kod çalıştığı için burası hiç aklıma gelmemişti ki.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#33
Ş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.
 
Katılım
8 Mart 2011
Mesajlar
12,052
Beğeniler
340
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#34
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#35
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,124
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#37
Dediğiniz gibi beni uyardıktan sonra Application.Calculation = xlCalculationAutomatic bu kodu eklemişsiniz, böyle daha güzel oldu.

Allah razı olsun.
 
Üst