Note: The other languages of the website are Google-translated. Back to English

Excel'deki başlığa tıklayarak sütun verilerini nasıl sıralayabilirim?

Bir dizi veriye sahip olduğumu varsayarsak, şimdi, gösterilen aşağıdaki ekran görüntüsünü almak için herhangi bir sütun başlığına tıklayarak verileri artan veya azalan sırayla sıralamak istiyorum. Bu işi Excel'de nasıl çözebilirsin?

doc sırala tıklama 1

VBA kodu ile sütun başlığına tıklayarak verileri sıralayın


ok mavi sağ balon VBA kodu ile sütun başlığına tıklayarak verileri sıralayın

Normalde Excel'de, verileri hızlı ve kolay bir şekilde sıralamak için Sırala özelliğini uygulayabilirsiniz, ancak verileri yalnızca bir hücreye tıklayarak sıralamak için aşağıdaki VBA kodu size bir iyilik yapabilir.

1. Bir hücreye tıklayarak verileri sıralamak istediğiniz sayfa sekmesine sağ tıklayın ve Kodu Görüntüle bağlam menüsünden ve açılan Uygulamalar için Microsoft Visual Basic penceresinde, aşağıdaki kodu boş Modüle kopyalayıp yapıştırın:

VBA kodu: Bir hücre veya sütun başlığına tıklayarak verileri sıralayın:

Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub

doc sırala tıklama 2

2. Ve sonra kod penceresini kaydedip kapatın, şimdi, veri aralığındaki herhangi bir hücre veya sütun başlığını çift tıkladığınızda, sütun artan sırada sıralanacaktır, tekrar çift tıklarsanız, sütun bir kerede azalan sıralanacaktır.


Daha ilgili makaleler:

Hücreye tıklayarak hücre değeri nasıl değiştirilir?

Verileri yalnızca Excel'deki hücre içeriğini tıklatarak nasıl filtreleyebilirim?


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (6)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Yükselmek için çalışıyor, inmek için belirtildiği gibi 2. kez çift tıklayın hiçbir şey yapmıyor
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çalışmıyor, hiçbir şey olmuyor, vba'da nasıl modül oluşturulacağını biliyor, bunu yaptı, kaydedildi ve başlık çift tıklandığında hiçbir şey olmadı. Lütfen düzeltin.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Hayır crackerjack yapamaz - çalışma
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Rob, Yukarıdaki kod Excel'imde iyi çalışıyor, probleminize burada bir ekran görüntüsü verebilir misiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
der Code funktioniert auch gut bei mir. Allerdings würde ich gerne die oberen beiden Beiden Beiden Beiden mit mit sortieren, da diese diese die Berschriften Sind.
Code ändern'den nasıl kurtulursunuz?

Teşekkür ederiz!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba arkadaş,
İşte ihtiyacınız olan VBA:

Public blnBoolean Olarak Değiştir
Özel Alt Çalışma Sayfası_BeforeDoubleClick _
(Aralık Olarak ByVal Hedef, Boole Olarak İptal Et)
'güncelleme Extendoffice
LastColumn Kadar Uzun, keyColumn Kadar Uzun, LastRow Kadar Uzun
Sıralama Aralığını Aralık Olarak Karart
SonSütun = _
Cells.Find(Ne:="*", Sonra:=Aralık("A1")), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
keyColumn > LastColumn ise, Sub'dan Çıkın
Application.ScreenUpdating = Yanlış
İptal = Doğru
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
On Error Resume Next
SortRange = Target.CurrentRegion olarak ayarlayın
Dim i As Long
i = 2
SortRange = SortRange.Offset(i, 0) olarak ayarlayın
SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count) olarak ayarlayın
blnToggle = blnToggle değil
blnToggle = True ise
SıralamaAralığı.Sırala _
Key1:=Hücreler(2, keyColumn), Order1:=xlAscending, Header:=xlNo
başka
SıralamaAralığı.Sırala _
Key1:=Hücreler(2, keyColumn), Order1:=xlDescending, Header:=xlNo
Eğer son
SortRange = Hiçbir Şeyi Ayarla
Application.ScreenUpdating = True
End Sub


3 satırlık başlıklarınız varsa, VBA'da "i =2" öğesini "i =3" olarak değiştirin. Umarım yardımcı olur. İyi günler.

En içten dileklerimizle,
Mandy
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır