Excel'de Makro Kaydetme - TechTV Makaleleri

Bunlar, TechTV Kanada'da Yardım Çağrısı'nın 33. Bölümünde yer aldığım şov notlarım.

VBA Makro Kaydedici

1995'ten beri satılan her Excel kopyası, hücrelerin arkasında saklanan inanılmaz derecede güçlü Visual Basic for Applications (VBA) içerir. Excel'iniz varsa, VBA'nız var.

VBA, Excel'de yapabileceğiniz her şeyi otomatikleştirmenize ve Excel'de genellikle mümkün olmayan daha fazla şey yapmanıza olanak tanır.

Neyse ki bizim için Microsoft, Excel ile bir makro kaydedici dahil etti. Bu, programcı olmadan VBA kodu yazmanıza izin verir. Ne yazık ki, Makro Kaydedici kusurlu. Her seferinde çalışacak kod üretmeyecektir. Makro kaydedici sizi yaklaştırır, ancak çoğu durumda güvenilir bir şekilde çalışması için kodu biraz düzeltmeniz gerekir. Diğer durumlarda, makronun çalışması için Göreli Kaydı ne zaman kullanacağınızı bilmeniz gerekir.

Tracy Syrstad ve ben, kaydedilen kodun sınırlamalarını anlamanıza yardımcı olmak ve kaydedilen kodu her seferinde çalışacak bir şeye nasıl düzelteceğinizi öğretmek için VBA ve Makrolar Microsoft Excel 2016 yazdık.

Gösteride, Göreli Referans düğmesini nasıl kullanacağınızı biliyorsanız, mükemmel şekilde çalışacak bir makro kaydetme sürecini gösterdim. Biri bana yüzlerce isim ve adres içeren bir Excel çalışma sayfası vermişti. Posta etiketleri istediler. Microsoft Word adres mektup birleştirme özelliğini daha önce kullandıysanız, çalışma sayfasındaki yeni bir sütundaki her alana ihtiyacınız olduğunu bilirsiniz. Bunun yerine, bu belirli çalışma sayfasında veriler A sütununda aşağı iniyordu.

Tek bir etiketi düzeltme süreci oldukça sıkıcıdır.

  • A sütunundaki adın üzerindeki hücre işaretçisiyle başlayın.
  • Adrese gitmek için aşağı oka basın
  • Kesmek için Ctrl + x
  • Adın yanındaki B sütununa gitmek için yukarı ok, sağ ok
  • Yapıştırmak için Ctrl + v
  • Şehre gitmek için aşağı ok iki kez, sol ok bir kez
  • Kesmek için Ctrl + x
  • İki kez yukarı ok, sağ ok trice
  • Yapıştırmak için Ctrl + v
  • Şimdi boş satıra geçmek için sol ok iki kez, aşağı ok bir kez.
  • Aşağı oka iki kez basarken shift tuşunu basılı tutun
  • Boş satırları silmek için Alt + edr
  • Yalnızca adı tekrar seçmek için yukarı ok ve aşağı ok.

İşte bu adımları gösteren animasyon:

Excel'i Makrolara İzin Verecek Şekilde Ayarlama

Excel'in her kopyası VBA içerse de, Microsoft varsayılan olarak makro çalıştırma özelliğini kapatır. Makroların çalışmasına izin vermek için tek seferlik bir ayarlama yapmanız gerekir. Excel'i açın. Menüden Araçlar> Makro> Güvenlik'i seçin. Makro güvenlik düzeyi şu anda yüksek olarak ayarlandıysa, Orta olarak değiştirin.

Makroyu Kaydetmeye Hazırlanma

Görevi başarmak için gerekli adımları düşünün. Bir adın üzerinde hücre işaretçisiyle başlayıp sonraki adda bitirdiğinizden emin olmak istersiniz. Bu, makroyu defalarca çalıştırmanıza izin verecektir. Adımları atmaya hazır olduğunuzda, makro kaydediciyi açın. Menüden Araçlar> Makro> Yeni Makro Kaydet'i seçin.

Bu makroyu günlerce çalıştıracaksanız, makroya kullanışlı bir ad vermelisiniz. Tek seferlik bir görevi otomatikleştirmek için tek seferlik bir makroysa, Makro adını Macro1 olarak bırakmak muhtemelen uygundur. Buradaki önemli alan kısayol tuşu alanıdır. Tek seferlik kullanım için bir makro oluşturuyorsanız, makroyu Ctrl + a gibi bir kısayol tuşuna atayın - tuşlar birbirine yakın olduğu için Ctrl + a tuşlarına tekrar tekrar basmak oldukça kolaydır. Her gün kullanacağınız bir makro oluşturacaksanız, makroyu zaten önemli bir kısayol tuş kombinasyonu olmayan bir tuşa atamak istersiniz. Ctrl + j veya Ctrl + k iyi seçimlerdir.

Tek kullanımlık makrolar ThisWorkbook'ta saklanmalıdır. Makroyu birçok farklı çalışma kitabında tekrar tekrar kullanmanız gerekiyorsa, makroyu Kişisel Makro Çalışma Kitabında saklayabilirsiniz.

Artık tüm Excel'deki en küçük araç çubuğuyla karşılaşıyorsunuz; Kaydı Durdur Araç Çubuğu. Yalnızca iki simgeye sahiptir ve şuna benzer:

Bu araç çubuğu yolunuza çıkarsa, kapatmak için X'e basmayın. Bunun yerine, mavi çubuğu tutun ve araç çubuğunu yeni bir konuma sürükleyin. Araç çubuğunu taşıma eylemi makroya kaydedilmez. Araç çubuğunu yanlışlıkla kapatırsanız, Görünüm> Araç Çubukları> Kaydı Durdur ile geri alın. Ancak bu eylem kaydedilecektir.

Araç çubuğundaki ilk düğme "Kaydı Durdur" düğmesidir. Bu kendi kendini açıklayıcıdır. Makroyu kaydetmeyi bitirdiğinizde, kaydı durdur araç çubuğuna basın.

Daha önemli (ve nadiren anlaşılan) düğme "Göreli Referans" düğmesidir.

Mevcut örneğimizde, başlamadan önce Göreli Referans düğmesine basmalısınız. Göreceli Referanslar açıkken bir makro kaydederseniz, Excel aşağıdaki gibi adımları kaydeder:

  • Bir hücre aşağı git
  • Mevcut hücreyi kes
  • Bir hücre yukarı git
  • Bir hücre sağa git
  • Yapıştırmak
  • vb.

Bunun yerine makroyu göreli referanslar olmadan kaydederseniz, makro şu adımları kaydeder:

  • A4 hücresine git
  • A4 hücresini kes
  • A3 hücresine git
  • B3 hücresine git
  • B3 hücresine yapıştır
  • vb.

Bu korkunç derecede yanlış olur - makronun başlangıç ​​noktasından itibaren 1 ve 2 hücreli hücreler üzerinde çalışmak için makronun ihtiyacımız var. Makroyu defalarca çalıştırdığınızda, başlangıç ​​noktası 4. satır, 5. satır, 6. satır vb. Olacaktır. Makroyu göreceli referanslar açık olmadan kaydetmek, makronun her zaman başlangıç ​​noktası olarak 3. satırda çalışmasını sağlayacaktır.

Bu adımları takip et:

  • Kaydı Durdur Araç Çubuğundaki Göreli Referans Düğmesini seçin
  • Hücre işaretçisi zaten A sütunundaki bir ad üzerinde olmalıdır.
  • Adrese gitmek için aşağı oka basın
  • Kesmek için Ctrl + x
  • Adın yanındaki B sütununa gitmek için yukarı ok, sağ ok
  • Yapıştırmak için Ctrl + v
  • Şehre gitmek için aşağı ok iki kez, sol ok bir kez
  • Kesmek için Ctrl + x
  • İki kez yukarı ok, sağ ok trice
  • Yapıştırmak için Ctrl + v
  • Şimdi boş satıra geçmek için sol ok iki kez, aşağı ok bir kez.
  • Aşağı oka iki kez basarken shift tuşunu basılı tutun
  • Boş satırları silmek için Alt + edr
  • Listedeki bir sonraki adı seçmek için yukarı ok ve aşağı ok.
  • Kaydı Durdur araç çubuğuna basın
  • Çalışma kitabını kaydedin
  • Yukarıda atanan kısayol tuşuna basarak makroyu test edin. Listedeki bir sonraki adı mükemmel şekilde düzeltmelidir

Makronun istendiği gibi çalıştığını gördüğünüzde, saniyede birkaç adı hızla düzeltmek için Ctrl + a tuşlarını basılı tutabilirsiniz. 500 isimden oluşan tüm liste bir veya iki dakika içinde düzeltilebilir.

Bonus İpucu - Gösteride Değil

500 adın tümünü Ctrl + tuşlarına birkaç kez basmanıza gerek kalmadan düzeltmek için makroyu basit bir döngüye kolayca sarabilirsiniz.

Makro düzenleyiciyi açmak için Alt + F11 tuşuna basın.

Proje - VBAProject bölmesini görmüyorsanız Ctrl + r tuşlarına basın.

Module1'e sağ tıklayın ve Kodu Görüntüle'yi seçin. Şuna benzeyen bir kod göreceksiniz:

Şimdi, bu kodun ne yaptığını anlamak zorunda değilsiniz, ancak sahip olduğumuz her isim için o makrodaki her şeyi bir kez çalıştırmak istediğimizi biliyorsunuz. 462 isim olduğunu biliyorsanız, kodu 462 kez çalıştırmak için 2 satır ekleyebilirsiniz. Makronun üst kısmına " For i = 1 to 462" sözcükleriyle yeni bir satır ekleyin . Makronun altına " Next i" yazan bir satır ekleyin . Bu, VBA'ya kodu 462 kez çalıştırmasını söyler.

Sonuç

Bu basit makrodan sonra, çok karmaşık bir makronun gösterimi üzerine bir örnek gösterdim. Bu makro, bir şirketin 46 departmanı için pivot tablolar ve grafikler oluşturdu. Bu rapor her ay 40 saat sürüyordu. VBA makrosu artık 46 raporun tamamını 2 dakikadan kısa sürede çalıştırır ve oluşturur.

Kitap VBA ve Makrolar Microsoft Excel 2016, öğrenme eğrisinde size yol gösterecek, böylece bunun gibi basit makroları kaydetmekten size yılda yüzlerce saat kazandırabilecek çok karmaşık raporlar çalıştırmaya kadar gidebilirsiniz. Tabii ki, VBA öğrenmek istemiyorsanız, sizin için bir rapor tasarlaması için bir Excel Danışmanı kiralayın.

Ilginç makaleler...