İçindekiler
Uygulama VBA makrosu Excel'de herhangi bir işlemi çalıştırmak için en etkili, en hızlı ve en güvenli yöntemdir. Bu makalede, size nasıl yapılacağını göstereceğiz tabloyu sıralama ile Excel'de VBA .
Çalışma Kitabını İndirin
Ücretsiz alıştırma Excel çalışma kitabını buradan indirebilirsiniz.
VBA.xlsm ile Tablo Sıralama
Excel'de Tablo Sıralamak için VBA Uygulamadan Önce Bilinmesi Gerekenler
ile çalışırken sıkça kullanmanız gereken bazı parametreler vardır Sırala yöntemi VBA Bu yüzden burada, kodu yazarken aşina olmanızı sağlamak için bazı parametreleri tartışacağız.
Parametre | Gerekli/ İsteğe bağlı | Veri Tipi | Açıklama |
---|---|---|---|
Anahtar | Opsiyonel | Varyant | Değerleri sıralanacak aralığı veya sütunu belirtir. |
Sipariş | Opsiyonel | XlSortOrder | Sıralamanın gerçekleştirileceği sırayı belirtir.
|
Başlık | Opsiyonel | XlYesNoGuess | İlk satırın başlık içerip içermediğini belirtir.
|
Excel'de Tablo Sıralamak için VBA Uygulamada 4 Yöntem
Bu bölüm size aşağıdakileri nasıl yapacağınızı gösterecektir Excel tablolarını sıralama dikkate alarak değer, renkler, simgeler ve çoklu sütunlar ile VBA Kod.
1. Excel'de Tabloyu Değere Göre Sıralamak için VBA'yı Gömün
Aşağıdaki örneği göz önünde bulundurarak bu tabloyu değerlere göre sıralayın içinde mevcut Mark sütununda azalan sırada.
Adımlar:
- Basın Alt + F11 sekmesine gidin veya klavyenizde Geliştirici -> Visual Basic açmak için Visual Basic Düzenleyicisi .
- Açılır kod penceresinde, menü çubuğundan Insert -> Modül .
- Aşağıdaki kodu kopyalayın ve kod penceresine yapıştırın.
Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub
Kodunuz artık çalışmaya hazır.
İşte,
- SortTBL → Tablo adı belirtildi.
- SortTBL[Marks] -> Sıralanacak tablonun sütun adı belirtilir.
- Anahtar1:=iSütun → Koda tabloda hangi sütunun sıralanacağını bildirmek için sütun aralığını belirtin.
- Sıra1:=xlAzalan → Sıra şu şekilde belirtilir xlAzalan sütunu azalan sırada sıralamak için. Eğer sütunu artan sırada sıralamak istiyorsanız o zaman xlYükselen onun yerine.
- Header:= xlYes → Bu tablodaki sütun bir başlığa sahip olduğundan, bunu xlEvet seçenek.
- Basın F5 klavyenizde veya menü çubuğundan Run -> Run Sub/UserForm üzerine de tıklayabilirsiniz. küçük Oynat simgesi makroyu çalıştırmak için alt menü çubuğunda.
Tablonuzdaki sütunun artık şu şekilde olduğunu göreceksiniz azalan sırada sıralanır .
Daha Fazla Oku: Excel'de Veriler Değere Göre Nasıl Sıralanır (5 Kolay Yöntem)
2. Tabloyu Birden Çok Sütun İçin Sıralamak için VBA Makrosu Ekleyin
Ayrıca şunları da yapabilirsiniz tabloyu birden çok sütun için sıralama ile Excel'de VBA makro.
Yukarıdaki tablodan sütunları sıralayacağız İsim ve Departman artan sırada.
Adımlar:
- Öncekiyle aynı şekilde, açık Visual Basic Düzenleyicisi bir şey yok. Geliştirici sekmesi ve Ekleme a Modül kod penceresinde.
- Kod penceresinde, aşağıdaki kodu kopyalayın ve yapıştırın.
Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub
Kodunuz artık çalışmaya hazır.
İşte,
- TableValue → Tablo adı belirtildi.
- TableValue[Ad] -> Sıralanacak tablonun ilk sütun adı belirtilir.
- TableValue[Departman] -> Sıralanacak tablonun ikinci sütun adı belirtilir.
- Anahtar1:=iSütun1 → Kodun tablodaki ilk sütunun sıralanması gerektiğini bilmesini sağlamak için sütun aralığı belirtildi.
- Anahtar1:=iSütun2 → Kodun tablodaki ikinci sütunun sıralanması gerektiğini bilmesini sağlamak için sütun aralığı belirtildi.
- Order1:=xlAscending → Sıra şu şekilde belirtilir xlYükselen Sütunu azalan sırada sıralamak istiyorsanız, sütunu azalan sırada sıralamak için xlAzalan onun yerine.
- Header:= xlYes → Bu tablonun sütunları başlıklara sahip olduğundan, bunu xlEvet seçenek.
- Koşmak bu kod ve her ikisini de alacaksınız tablonun sütunları sıralanır artan sırada.
Daha fazlasını okuyun: Excel'de Birden Çok Sütun Nasıl Otomatik Sıralanır (3 Yol)
Benzer Okumalar
- Excel'de Benzersiz Liste Nasıl Sıralanır (10 Yararlı Yöntem)
- Excel VBA ile Dizi Sıralama (Hem Artan Hem Azalan Sıralama)
- Excel'de Veriler Nasıl Sıralanır ve Filtrelenir (Eksiksiz Bir Kılavuz)
- Veri Değiştiğinde Excel Otomatik Sıralama (9 Örnek)
- Excel'de Rastgele Sıralama (Formüller + VBA)
3. Excel'de Tabloyu Hücre Rengine Göre Sıralamak için Makro Uygulama
Ayrıca şunları da yapabilirsiniz bir tabloyu hücre rengine göre sıralama içerdiği.
Yukarıdaki tabloyu örnek alarak, bu tablonun içerdiği renklere göre nasıl sıralanacağını göstereceğiz.
Adımlar:
- Daha önce gösterildiği gibi, açık Visual Basic Düzenleyicisi bir şey yok. Geliştirici sekmesi ve Ekleme a Modül kod penceresinde.
- Kod penceresinde, aşağıdaki kodu kopyalayın ve yapıştırın.
Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub
Kodunuz artık çalışmaya hazır.
Burada RGB sağladığımız kodları, onu veya başka herhangi bir RGB Aşağıda verilen gif'i takip ederek istediğiniz kodu girin.
- Sadece üzerine tıklayın renkli hücre .
- İçinde Ev sekmesine tıklayın, ardından Dolgu Renginin yanındaki ok sonra seçin Daha Fazla Renk . göreceksiniz RGB kodları Özel sekmesi göründü Renkler açılır kutusu.
- Koşmak bu kod ve tablonuz şöyle olacaktır renklere göre sıralanmış .
Daha fazlasını okuyun: Excel'de Renklere Göre Sıralama (4 Kriter)
4. Excel Tablosunu Simgeye Göre Sıralamak için VBA Uygulayın
Veri kümesinin tablosunda daha iyi okunabilirlik için simgeler olduğunu varsayalım. simgelere dayalı tablo ile Excel'de VBA makro.
Yukarıdaki veri kümesine bakın. Burada tabloda sayı değerlerinin yanında simgeler vardır. Marks Böylece hangi öğrencinin iyi, kötü veya ortalama sonuçlara sahip olduğunu anlayabiliriz.
Bir hücrenin içine nasıl simge ekleyebileceğinizi bilmiyorsanız, bunu basitçe Koşullu Biçimlendirme Excel'deki özellik.
- Seçiniz tüm aralık veya sütun.
- Gitmek Koşullu Biçimlendirme -> Simge Setleri Ardından seçeneklerden istediğiniz simge setlerini seçin.
Adımlar bir tabloyu simgelere göre sıralama aşağıda verilmiştir.
Adımlar:
- Açık Visual Basic Düzenleyicisi bir şey yok. Geliştirici sekmesi ve Ekleme a Modül kod penceresinde.
- Kod penceresinde, aşağıdaki kodu kopyalayın ve yapıştırın.
Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub
Kodunuz artık çalışmaya hazır.
İşte,
- xl5Oklar -> Biz seçtik 5 oktan oluşan set seçeneğinden Koşullu Biçimlendirme .
- Ürün (1) -> Belirtilen önce ok simgesi türü.
- Ürün (2) -> Belirtilen ikinci ok simgesi türü.
- Ürün (3) -> Belirtilen üçüncü ok simgesi türü.
- Ürün (4) -> Belirtilen dördüncü ok simgesi türü.
- Ürün (5) -> Belirtilen beşinci ok simgesi türü.
- Koşmak bu kod ve tablo şu şekilde olacaktır simgelere göre sıralanır .
Daha Fazla Oku: Excel'de Tablo Otomatik Sıralama Nasıl Yapılır (5 Yöntem)
Sonuç
Bu makale size aşağıdakileri nasıl yapacağınızı gösterdi tabloyu sıralama Excel'de VBA Umarım bu makale sizin için çok faydalı olmuştur. Konuyla ilgili herhangi bir sorunuz olursa sormaktan çekinmeyin.