Bu yazıda, çalışma kitabındaki çalışma sayfalarının çalışma sayfası adına bağlı olarak artan veya azalan düzende nasıl sıralanacağı hakkında ayrıntılı bilgi verdik.
Ekli çalışma kitabında iki modül vardır: -
Modül1 “Makro” sayfasında “Gönder” düğmesine atanmış “Çalışma Sayfalarını Sırala” makrosunu içerir.
Bu makro, “Makro” olarak adlandırılan ana sayfa olan ilk çalışma sayfası dışındaki tüm çalışma sayfalarını sıralar.
Kullanıcı "Gönder" düğmesine tıkladığında, "Makro" sayfasından sonraki tüm sayfalar, açılan kutuda kullanıcı tarafından seçilen şekilde artan veya azalan düzende sıralanacaktır.
Modül2 “AscendingSortOfWorksheets” ve “DecendingSortOfWorksheets” olmak üzere iki makro içerir. “AscendingSortOfWorksheets” makrosunu çalıştırırken, çalışma kitabında bulunan tüm çalışma sayfalarını artan düzende sıralayacaktır. “DecendingSortOfWorksheets” makrosunu çalıştırırken, çalışma kitabında bulunan tüm çalışma sayfalarını azalan düzende sıralayacaktır.
Mantıksal açıklama
Çalışma kitabındaki çalışma sayfalarını sıralamak için kabarcık sıralama algoritması kullanılır.
Kabarcık sıralama algoritması, dizideki her bir öğeyi dizideki diğer öğelerle karşılaştırır ve artan veya azalan düzende sıralamaya göre değiştirir. Her adımda, dizinin en üstüne en küçük veya en büyük değeri verir. Algoritma, tüm öğeler sıralanana kadar tekrar eder.
Bu yazıda amacımız çalışma kitabındaki çalışma sayfalarını isimlerine göre sıralamak. Kullanmakta olduğumuz çalışma kitabı, Finansal Gösterge Tablosu, İnsan Kaynakları ve Satış Gösterge Tablosu gibi isimlerle farklı çalışma sayfalarından oluşmaktadır.
Bu amaca ulaşmak için, çalışma sayfalarını sıralamak için Kabarcık sıralama algoritmasını kullandık.
Kod açıklaması
SıralaÇalışma Sayfaları Makrosu
Bu makro, kullanıcı gönder düğmesine tıkladığında çalışır. Bu makro, çalışma kitabındaki ilk çalışma sayfası dışındaki tüm çalışma sayfalarını adlarına göre sıralar. Kullanıcı tarafından açılan kutuda seçilen değere bağlı olarak, çalışma sayfalarını artan veya azalan düzende sıralayacaktır.
Birleşik giriş kutusu eklemek için aşağıdaki adımları izleyin: -
-
Geliştirici sekmesine gidin > Ekle'ye tıklayın > Form kontrolü altındaki birleşik giriş kutusu simgesine tıklayın
-
Açılan kutuya sağ tıklayın ve format kontrolüne tıklayın.
-
Kontrol sekmesine gidin, Öğeyi atayın ve birleşik giriş kutusunu XFC1 hücresine bağlayın.
ComboBoxValue = Aralık("XFC1").Value
"Makro" çalışma sayfasındaki birleşik giriş kutusu, XFC1 hücresiyle bağlantılıdır. Yani XFC1 hücresinden değer almak için ComboBoxValue değişkeni kullanılır.
i = 2 için SCount - 1
FOR döngüsü, i değişkeni ile başlar, çalışma kitabının ilk çalışma sayfasını sıralamadan çıkarmak istediğimiz için 2'den başlayan değer.
ComboBoxValue = 1 ise
EĞER koşulu, artan veya azalan düzende sıralanıp sıralanmayacağını kontrol etmek için kullanılır. EĞER ComboBoxValue değeri 1 ise artan düzende, aksi takdirde azalan düzende sıralayın.
Artan düzende sıralanmış çalışma sayfaları
Azalan düzende sıralanmış çalışma sayfaları
ArtanSıralamaÇalışma Sayfaları ve AzalanSıralamaÇalışma Sayfaları
AscendingSortOfWorksheets ve DecendingSortOfWorksheets makroları Alt + F8 kısayol tuşuna basılarak veya Geliştirici sekmesine Git > Makro'ya tıklayın > makroyu seçip çalıştır'a tıklayarak çalıştırılabilir. Çalışma kitabında bulunan tüm çalışma sayfalarını sıralayacaklar. Bu makrolar diğer çalışma kitaplarında da çalıştırılabilir.
AscendingSortOfWorksheets makrosunu çalıştırdıktan sonra sıralanan çalışma sayfaları
Artan düzende sıralanmış çalışma sayfaları DecendingSortOfWorksheets makrosu
Lütfen kod için aşağıdan takip edin
Sub AscendingSortOfWorksheets() 'Bir çalışma kitabındaki çalışma sayfalarını artan düzende sıralayın Dim SCount, i, j Tamsayı Olarak 'Ekran güncellemelerini devre dışı bırakmak için Application.ScreenUpdating = False 'Toplam no. SCount = Worksheets.Count 'Çalışma sayfası sayısının 1'den büyük olup olmadığı kontrol ediliyor, Sayı bir ise prosedürden çıkın SCount = 1 ise, Sonra Çıkış Sub 'Sıralama algoritması olarak Kabarcık sıralamasını kullanarak 'Tüm çalışma sayfalarında döngü yapma i = 1 To SCount - 1 'Seçilen sayfanın uygun konuma taşınması için seçilen sayfa adının diğer sayfalarla karşılaştırılması j = i + 1 için SCount If Worksheets(j).AdWorksheets(i).Name Then Worksheets(j).Move Before:=Worksheets(i) End If Next j Sonraki i End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın