Excel'de tarih girildiğinde veya değiştirildiğinde tarih otomatik olarak nasıl sıralanır?
Excel'de Sırala işlevi, tarihi ihtiyaç duyduğunuzda artan veya azalan düzende sıralamanıza yardımcı olabilir. Ancak bu dinamik değildir, eğer tarihi sıraladıysanız ve sonra ona yeni tarih eklediyseniz, tekrar sıralamanız gerekir. Bir çalışma sayfasına her defasında yeni tarih girerken tarihi otomatik olarak sıralamanın iyi ve hızlı yolları var mı?
Örneğin, Sütun A'daki orijinal tarih, aşağıdaki formül, sıralamak istediğiniz sütuna göre yeni bir yardımcı sütundaki tarihi veya diğer metin dizelerini otomatik olarak sıralamanıza yardımcı olabilir, lütfen aşağıdakileri yapın:
1. Şu formülü girin:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) tarih sütununun yanındaki boş bir hücreye, C2örneğin ve ardından Ctrl + Üst Karakter + Enter tuşları bir araya getirin ve bir sayı dizisi elde edersiniz, ardından doldurma tutamacını kullanmak istediğiniz hücrelere sürükleyin, ekran görüntüsüne bakın:
not: Yukarıdaki formülde: A2: A15 otomatik sıralamak istediğiniz orijinal tarih aralığınızdır.
2. Ardından sayıları tarih biçimi olarak biçimlendirmek için Kısa tarih itibaren genel aşağı açılır liste Anasayfa sekmesi, ekran görüntüsüne bakın:
3. Ardından sıra numaraları tarih formatına dönüştürüldü ve orijinal tarih de sıralandı, ekran görüntüsüne bakın:
4. Şu andan itibaren, A sütununda yeni tarih girdiğinizde veya tarihi değiştirdiğinizde, C sütunundaki tarih otomatik olarak artan sırada sıralanacaktır, ekran görüntüsüne bakın:
Aşağıdaki VBA kodu, yeni tarih girdiğinizde veya ihtiyaç duyduğunuzda tarihi değiştirdiğinizde orijinal sütundaki tarihi otomatik olarak sıralamanıza yardımcı olabilir.
1. Bir tarih girdiğinizde veya değiştirdiğinizde tarihi otomatik olarak sıralamak istediğiniz çalışma sayfasına gidin.
2. Sayfa sekmesine sağ tıklayın ve Kodu Görüntüle bağlam menüsünden, açılır pencerede Uygulamalar için Microsoft Visual Basic penceresi, lütfen aşağıdaki kodu boşluğa kopyalayıp yapıştırın modül pencere, ekran görüntüsüne bakın:
VBA kodu: tarih girildiğinde veya değiştirildiğinde otomatik sıralama:
Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice On Error Resume Next If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom End Sub
not: Yukarıdaki kodda, girilen tarih A sütununda otomatik sıralama olacaktır, değiştirebilirsiniz A1 ve A2 ihtiyaç duyduğunuzda kendi hücrelerinize.
3. Şu andan itibaren, A sütununa tarih girdiğinizde, tarih otomatik olarak artan şekilde sıralanacaktır.