Aşağı ve sağa akıllı otomatik doldurma

İçerik

Şimdiye kadar, 10 yıl önceki ilk saha kurumsal eğitimlerimden birini bazen gülümseyerek hatırlıyorum.

Hayal edin: Uluslararası bir FMCG şirketinin temsilciliğinin futbol sahası kadar büyük açık alan ofisi. Şık tasarım, pahalı ofis ekipmanları, kıyafet kuralları, köşelerde gurbetçilerin soğuması - hepsi bu 🙂 Toplantı odalarından birinde, ekonomi departmanının 2003 önemli çalışanına Excel 15'ün o zamanki güncel sürümü üzerine iki günlük ileri düzey bir eğitime başlıyorum. , liderleriyle birlikte. Tanışıyoruz, onlara iş görevlerini, sorunları soruyorum, birkaç tipik çalışma dosyasını göstermelerini istiyorum. SAP'den boşaltmanın kilometre uzunluğunu, bununla ilgili hazırladıkları raporları vb. gösteriyorlar. Bu tanıdık bir şey; konuları ve zamanlamayı zihinsel olarak çözüyorum, izleyiciye uyum sağlıyorum. Göz ucuyla, katılımcılardan birinin raporunun bir bölümünü göstererek, formülün bulunduğu hücreyi sabırla sağ alt köşedeki siyah çarpı işaretinin yanında birkaç bin satır aşağı çektiğini ve ardından raporun sonunu atladığını fark ediyorum. masayı anında geri çekiyor, vb. Dayanamadığım için, fareyi ekranın etrafında kıvırarak sözünü kesiyorum ve otomatik tamamlamayı sonuna kadar açıklayan siyah çarpıya çift tıklamayı gösteriyorum. 

Aniden, seyircilerin şüpheli bir şekilde sessiz olduğunu ve herkesin bana tuhaf tuhaf baktığını fark ettim. Elimden geldiğince farkedilmeden etrafıma bakıyorum - her şey yolunda, kollarım ve bacaklarım yerinde, sineğim düğmeli. Korkunç bir madde aramak için son sözlerimi zihnimde geri sarıyorum - öyle görünüyor ki suçlu bir şey yok. Bundan sonra grubun başı sessizce ayağa kalkar, elimi sıkar ve taş bir yüzle şöyle der: “Teşekkürler Nikolai. Bu eğitim tamamlanabilir.

Kısacası, hiçbirinin siyah bir çarpı işaretine çift tıklama ve otomatik tamamlama hakkında bir ipucu olmadığı ortaya çıktı. Onlara bu kadar basit ama gerekli bir şeyi gösterecek kimse olmadığı bir şekilde tarihsel olarak oldu. Tüm departman binlerce satır için formülleri manuel olarak çekti, zavallı arkadaşlar. Ve buradayım. Petrol sahnesi. Departman başkanı daha sonra şirketlerinin adını kimseye açıklamamasını çok istedi 🙂

Birkaç kez sonra benzer durumlar oldu, ancak yalnızca bireysel dinleyicilerle - çoğu şimdi elbette bu işlevi biliyor. 

Aşağı ve sağa akıllı otomatik doldurmaSoru farklı. Böyle harika bir özellikte ustalaşmanın ilk sevincinden sonra, çoğu kullanıcı siyah çarpı işaretine (otomatik tamamlama işaretçisi) çift tıklayarak formüllerin otomatik olarak kopyalanmasının tüm olumlu ve olumsuz yönleri olduğunu anlamaya başlar:

  • Kopyalama her zaman tablonun sonuna gelmez. Tablo yekpare değilse, yani bitişik sütunlarda boş hücreler varsa, otomatik tamamlamanın tablonun sonuna kadar çalışacağı bir gerçek değildir. Büyük olasılıkla, süreç sona ulaşmadan önce en yakın boş hücrede duracaktır. Sütunun altında bir şey tarafından işgal edilen hücreler varsa, otomatik tamamlama tam olarak bunlar üzerinde duracaktır.
  • Kopyalarken hücre tasarımı ganimetleri, çünkü Varsayılan olarak, yalnızca formül değil, aynı zamanda biçim de kopyalanır. Düzeltmek için kopyalama seçenekleri düğmesine tıklayın ve Sadece değerler (Biçimsiz doldurun).
  • Formülü rahatça uzatmanın hızlı bir yolu yoktur. aşağı değil sağaelle çekmek dışında. Siyah çarpıya çift tıklamak hemen aşağı.

Basit bir makro ile bu eksiklikleri gidermeye çalışalım.

Sol klavye kısayoluna basın Alt + F11 veya düğmesi Visual Basic çıkıntı geliştirici (Geliştirici). Menü aracılığıyla yeni boş modül ekle Ekle – Modül ve bu makroların metnini buraya kopyalayın:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).CurrentRegion rng.Cells.Count > 1 ise n = rng.Cells(1).Row + rng.Rows. Count - ActiveCell.Row ActiveCell.AutoFill Hedef:=ActiveCell.Resize(n, 1), Type:=xlFillValues ​​End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0.CurrentRegion Eğer rng.Cells.Count > 1 ise n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Hedef:=ActiveCell.Resize(1, n), Tür: =xlFillValues ​​End If End Sub  

Bu tür makrolar:

  • yalnızca aşağıyı (SmartFillDown) değil, aynı zamanda sağa da (SmartFillRight) doldurabilir
  • aşağıdaki veya sağdaki hücrelerin biçimini bozmayın - yalnızca formül (değer) kopyalanır
  • boş bitişik hücreler yok sayılır ve kopyalama, verilerdeki en yakın boşluğa veya ilk dolu hücreye değil, tam olarak tablonun sonuna kadar gerçekleşir.

Daha fazla rahatlık için, düğmeyi kullanarak bu makrolara klavye kısayolları atayabilirsiniz. Makrolar – Seçenekler (Makrolar — Seçenekler) hemen orada sekmede. geliştirici (Geliştirici). Artık sütunun ilk hücresine istediğiniz formülü veya değeri girmeniz ve makronun tüm sütunu (veya satırı) otomatik olarak doldurması için belirtilen tuş kombinasyonuna basmanız yeterli olacaktır:

Güzellik.

PS Formülleri tablonun sonuna kopyalama sorununun bir kısmı, Excel 2007'de “akıllı tabloların” ortaya çıkmasıyla çözüldü. Doğru, her zaman ve her yerde uygun değiller. Ve sağda, Excel asla kendi başına kopyalamayı öğrenmedi.

  • Makro nedir, nasıl kullanılır, Visual Basic kodu nereden alınır ve nereye yapıştırılır.
  • Excel 2007-2013'te akıllı tablolar
  • Formülleri bağlantı kaydırma olmadan kopyalayın

Yorum bırak