Makro Kaydedici - Excel ile görevleri otomatikleştirin. Microsoft Excel'de makro oluşturma

  • 08.08.2019

Tekrarlanan görevleri otomatikleştirmek için Microsoft Excel'deki Makro Kaydediciyi kullanarak bir makro kaydedebilirsiniz. Rastgele biçimlerde tarihleriniz olduğunu ve aynı biçimi herkese uygulamak istediğinizi hayal edin. Bu bir makro ile yapılabilir. Bir makroyu istediğiniz formatta kaydedebilir ve gerekirse makroyu oynatabilirsiniz.

Bir makro kaydettiğinizde, gerekli tüm eylemler Visual Basic for Applications (VBA) kodu olarak kaydedilir. Bu eylemler, metin veya sayı girmeyi, şerit veya menüde hücreleri veya komutları seçmeyi, hücreleri, satırları veya sütunları biçimlendirmeyi ve hatta Microsoft Access gibi harici bir kaynaktan veri almayı içerebilir. Visual Basic for Applications (VBA), Visual Basic programlama dilinin bir parçasıdır. Çoğu Office uygulamasında bulunur. VBA, Office uygulamaları içindeki ve arasındaki işlemleri otomatikleştirmenize izin verirken, makro kaydedici her şeyi halledeceğinden, VBA dilini nasıl programlayacağınızı veya bilmenize gerek yoktur.

Bir makro kaydettiğinizde, yaptığınız hemen hemen her şeyin kaydedildiğini bilmek önemlidir. Yani yanlış düğmeye basmak gibi bir hata yaparsanız, makro kaydedici bu eylemi günlüğe kaydeder. Böyle bir durumda, tüm sırayı yeniden yazabilir veya VBA kodunu değiştirebilirsiniz. Bu nedenle, süreci kaydetmeden önce iyi çalışmalısınız. Sıralamayı ne kadar doğru yazarsanız, makro o kadar etkili çalışacaktır.

geliştirici varsayılan olarak gizlidir, bu nedenle önce etkinleştirmeniz gerekir. Daha fazla bilgi için bkz. Geliştirici sekmesini gösterme.

Makro Kaydı

sekmesinde geliştirici Tıklayın makrolarçalışma kitabıyla ilişkili makroları görüntülemek için tuşlarına da basabilirsiniz ALT+F8. Bu bir iletişim kutusu açacaktır. Makro.


Dikkat:

Makro güvenlik ayarları ve anlamları hakkında bilgi edinin.

Makrolar, klavye kısayolu, grafik nesnesi, Hızlı Erişim araç çubuğu, düğme gibi çeşitli şekillerde veya bir çalışma kitabı açıldığında bile çalıştırılabilir.

Bir çalışma kitabına eklenmiş makroları düzenlemek için Visual Basic Düzenleyicisi'ni kullanabilirsiniz.

    makro ata.

    alanında Makro ata

Office dosyalarında makroları nasıl etkinleştireceğinizi ve devre dışı bırakacağınızı öğrenin.

tuşlara basın ALT+F11.

Visual Basic Düzenleyicisi'nde (VBE) yazılı kodla çalışma

Visual Basic Düzenleyicisi (VBE) ile, makro kaydedicinin desteklemediği kayıtlı koda kendi değişkenlerinizi, kontrol yapılarınızı ve diğer öğeleri ekleyebilirsiniz. Makro kaydedici, kayıt sırasında meydana gelen hemen hemen her adımı yakaladığından, gereksiz kodu da kaldırmanız gerekebilir. Kayıtlı kodu görüntülemek, VBA programlamayı öğrenmenin veya becerilerinizi geliştirmenin harika bir yoludur.

Kaydedilen kodu değiştirmenin bir örneği, Excel'de VBA'yı kullanmaya başlama makalesinde bulunabilir.

Makro Kaydı

Makroları kaydetmeden önce aşağıdakileri bilmek faydalıdır:

    Bir Excel aralığında çalışmak üzere yazılmış bir makro, yalnızca o aralıktaki hücrelerde çalışır. Bu nedenle, aralığa yeni bir satır eklerseniz, makro buna uygulanmaz.

    Uzun bir görev dizisi kaydetmeniz gerekiyorsa, bunun yerine birkaç küçük makro kullanmanızı öneririz.

    Bir makro, Excel dışı görevler de içerebilir. Makro işlemi, diğer Office uygulamalarını ve Visual Basic for Applications'ı (VBA) destekleyen diğer programları kapsayabilir. Örneğin, önce Excel'de bir elektronik tabloyu güncelleyen ve ardından e-postayla göndermek için Outlook'u açan bir makro kaydedebilirsiniz.

Makrolar ve VBA araçları sekmede geliştirici varsayılan olarak gizlidir, bu nedenle önce etkinleştirmeniz gerekir.

    Seçme mükemmel > Seçenekler> Bant ve panel.

Bir makro kaydetmek için aşağıdaki talimatları izleyin.

Excel'de kayıtlı makrolarla çalışma

sekmesinde geliştirici Tıklayın makrolarçalışma kitabıyla ilişkili makroları görüntülemek için Bu bir iletişim kutusu açacaktır. Makro.

Not: Makrolar geri alınamaz. Kaydedilmiş bir makroyu ilk kez çalıştırmadan önce, istenmeyen değişiklikleri önlemek için çalışma kitabını kaydedin veya bir kopyasını oluşturun. Makro çalıştırmanın sonuçlarından memnun değilseniz, çalışma kitabını kaydetmeden kapatabilirsiniz.

Aşağıda, Excel'de makrolarla çalışma hakkında daha fazla bilgi bulunmaktadır.

Mac için Excel'de makroları nasıl etkinleştireceğinizi ve devre dışı bırakacağınızı öğrenin.

Sık tekrarlanan görevleri yerine getirirken zaman kazanmak için, karşılık gelen eylem sırasını bir makro biçiminde kaydedebilirsiniz. Makroları nasıl oluşturacağınızı ve çalıştıracağınızı öğrenin.

Bir çalışma kitabı, başka bir yerde kullanmak istediğiniz bir VBA makrosu içeriyorsa, Microsoft Visual Basic Düzenleyicisi'ni kullanarak modülü başka bir çalışma kitabına kopyalayabilirsiniz.

Bir nesneye, şekle veya grafik öğesine makro atama

    Sayfada, varolan bir makroyu atamak istediğiniz nesneye, resme, şekle veya öğeye sağ tıklayın ve ardından makro ata.

    alanında Makro ata atamak istediğiniz makroyu seçin.

Bir simgeye makro atayabilir ve bunu Hızlı Erişim Araç Çubuğuna veya Şeride ekleyebilirsiniz.

Bir sayfadaki formlara ve ActiveX denetimlerine makro atayabilirsiniz.

Visual Basic Düzenleyicisini Açma

sekmesinde geliştirici Tıklayın Visual Basic veya seçin Hizmet > Makro > Visual Basic Düzenleyici.

Visual Basic öğeleri için nasıl yardım bulacağınızı öğrenin.

Ek Bilgiler

Excel Teknik Topluluğuna her zaman bir soru sorabilir, Yanıtlar topluluğundan yardım isteyebilir veya web sitesinde yeni bir özellik veya iyileştirme önerebilirsiniz.

Excel'in güçlü, ancak aynı zamanda çok nadiren kullanılan, makroları kullanarak otomatik eylem dizileri oluşturma yeteneği vardır. Birçok kez tekrarlanan aynı tür görevlerle uğraşıyorsanız, bir makro ideal bir çıkış yoludur. Örneğin, standart bir şablona göre veri işleme veya belge biçimlendirme. Bu durumda, programlama dilleri bilgisine ihtiyacınız yoktur.

Bir makronun ne olduğunu ve nasıl çalıştığını zaten merak ediyor musunuz? O zaman cesurca devam edin - o zaman sizinle birlikte bir makro oluşturma sürecinin tamamını adım adım yapacağız.

Makro nedir?

Microsoft Office'teki bir makro (evet, bu işlev birçok Microsoft Office uygulamasında aynı şekilde çalışır), bir belgenin içinde saklanan bir programlama dili (VBA) kodudur. Daha açık hale getirmek için, bir Microsoft Office belgesi bir HTML sayfasıyla karşılaştırılabilir, ardından bir makro Javascript'e benzer. Javascript'in bir web sayfasındaki HTML verileriyle yapabilecekleri, bir makronun Microsoft Office belgesindeki verilerle yapabileceklerine çok benzer.

Makrolar, bir belgede istediğiniz hemen hemen her şeyi yapabilir. İşte bunlardan bazıları (çok küçük bir kısmı):

  • Stilleri ve biçimlendirmeyi uygulayın.
  • Sayısal ve metin verileriyle çeşitli işlemler gerçekleştirin.
  • Harici veri kaynakları kullanın (veritabanı dosyaları, metin belgeleri vb.)
  • Yeni bir belge oluşturun.
  • Yukarıdakilerin hepsini herhangi bir kombinasyonda yapın.

Makro oluşturma - pratik bir örnek

Örneğin, en yaygın dosyayı alalım csv. Bu, sütun ve satır başlıklarıyla 0'dan 100'e kadar sayılarla dolu basit bir 10x20 tablodur. Görevimiz, bu veri kümesini uygun şekilde biçimlendirilmiş bir tabloya dönüştürmek ve her satırda toplamlar oluşturmaktır.

Daha önce de belirtildiği gibi, bir makro, VBA programlama dilinde yazılmış bir koddur. Ancak Excel'de, şu anda yapacağımız bir satır kod yazmadan bir program oluşturabilirsiniz.

Makro oluşturmak için açın görüş(Görüntüle) > makrolar(Makrolar) > Makro Kaydet(Makro kayıt...)

Makronuza bir ad verin (boşluk yok) ve tıklayın TAMAM.

Bu andan itibaren, belgeyle ilgili TÜM eylemleriniz kaydedilir: hücrelerdeki değişiklikler, tabloda gezinme, hatta pencereyi yeniden boyutlandırma.

Excel, makro kayıt modunun iki yerde etkinleştirildiğini bildirir. İlk olarak, menüde makrolar(Makrolar) - bir dize yerine Makro Kaydet(Bir makro kaydediliyor...) satırı belirdi Kaydetmeyi bırak(Kaydetmeyi bırak).

İkincisi, Excel penceresinin sol alt köşesinde. Simge Durmak(küçük kare) makro kaydının etkinleştirildiğini gösterir. Üzerine tıklamak kaydı durduracaktır. Tersine, kayıt modu etkinleştirilmediğinde, bu konumda makro kaydını etkinleştirmek için bir simge vardır. Üzerine tıklamak, menüden kaydı açmakla aynı sonucu verecektir.

Artık makro kayıt modu etkinleştirildiğine göre görevimize geçelim. Öncelikle özet veriler için başlıklar ekleyelim.

  • =TOPLA(B2:K2) veya =TOPLA(B2:K2)
  • =ORTALAMA(B2:K2) veya =ORTALAMA(B2:K2)
  • =DAK(B2:K2) veya =DAK(B2:K2)
  • =MAKS(B2:K2) veya =MAKS(B2:K2)
  • =ORTALAMA(B2:K2) veya =ORTALAMA(B2:K2)

Şimdi formüllü hücreleri seçin ve otomatik doldurma tutamacını sürükleyerek tablomuzun tüm satırlarına kopyalayın.

Bu adımı tamamladıktan sonra, her satırın karşılık gelen toplamları olmalıdır.

Sırasıyla:

  • =TOPLA(L2:L21) veya =TOPLA(L2:L21)
  • =ORTALAMA(B2:K21) veya =ORTALAMA(B2:K21)- bu değeri hesaplamak için tablonun ilk verilerini tam olarak almak gerekir. Tek tek satırlar için ortalamaların ortalamasını alırsanız, sonuç farklı olacaktır.
  • =DAK(N2:N21) veya =DAK(N2:N21)
  • =MAKS(O2:O21) veya =MAKS(O2:O21)
  • =ORTALAMA(B2:K21) veya =ORTALAMA(B2:K21)- yukarıda belirtilen nedenle tablonun ilk verilerini kullanmayı düşünüyoruz.

Şimdi hesaplamaları bitirdiğimize göre, biraz biçimlendirme yapalım. İlk olarak, tüm hücreler için aynı veri görüntüleme biçimini ayarlayalım. Sayfadaki tüm hücreleri seçin, bunu yapmak için klavye kısayolunu kullanın Ctrl+A veya simgeye tıklayın Hepsini seç, satır ve sütun başlıklarının kesiştiği yerde bulunur. sonra tıklayın Virgül Stili(Sınırlandırılmış Biçim) sekmesi Ev(Ev).

  • Kalın yazı tipi stili.
  • Merkez hizalama.
  • Renk dolgusu.

Ve son olarak, toplamların biçimini ayarlayalım.

Sonunda nasıl görünmesi gerektiği:

Her şey size uyuyorsa, makroyu kaydetmeyi bırakın.

Tebrikler! Excel'deki ilk makronuzu kendiniz kaydettiniz.

Oluşturulan makroyu kullanmak için Excel belgesini makroları destekleyen bir formatta kaydetmemiz gerekiyor. Öncelikle oluşturduğumuz tablodaki tüm verileri silmemiz gerekiyor yani. boş bir şablon yapın. Gerçek şu ki, gelecekte bu şablonla çalışarak en yeni ve ilgili verileri ona aktaracağız.

Tüm hücreleri verilerden temizlemek için simgeye sağ tıklayın Hepsini seç Satır ve sütun başlıklarının kesişim noktasında bulunan ve içerik menüsünden öğesini seçin. Silmek(Silmek).

Şimdi, makro kayıtlı kalırken sayfamız tüm verilerden tamamen temizlendi. Çalışma kitabını, uzantıya sahip makro etkin bir Excel şablonu olarak kaydetmemiz gerekiyor. XLTM.

Önemli nokta! Dosyayı uzantıyla kaydederseniz XLTX, bu durumda makro çalışmayacaktır. Bu arada, çalışma kitabını biçimine sahip bir Excel 97-2003 şablonu olarak kaydedebilirsiniz. XLT, makroları da destekler.

Şablon kaydedildiğinde, Excel'i güvenle kapatabilirsiniz.

Excel'de Makro Çalıştırmak

Oluşturduğunuz makronun tüm olanaklarını ortaya koymadan önce, genel olarak makrolarla ilgili birkaç önemli noktaya dikkat etmekte fayda var diye düşünüyorum:

  • Makrolar zararlı olabilir.
  • Önceki paragrafı tekrar okuyun.

VBA kodu çok güçlüdür. Özellikle mevcut belgenin dışındaki dosyalar üzerinde işlem yapabilir. Örneğin, bir makro bir klasördeki herhangi bir dosyayı silebilir veya değiştirebilir. Benim dökümanlarım. Bu nedenle, yalnızca güvendiğiniz kaynaklardan gelen makroları çalıştırın ve bunlara izin verin.

Veri biçimlendirme makromuzu çalıştırmak için bu öğreticinin ilk bölümünde oluşturduğumuz şablon dosyasını açın. Standart güvenlik ayarlarınız varsa, bir dosyayı açtığınızda, tablonun üzerinde makroların devre dışı bırakıldığına dair bir uyarı ve bunları etkinleştirmek için bir düğme belirecektir. Şablonu kendimiz yaptığımız ve kendimize güvendiğimiz için düğmeye basıyoruz. İçeriği etkinleştirmek(İçerik dahil).

Sonraki adım, dosyadan en son güncellenen veri kümesini içe aktarmaktır. csv(böyle bir dosyadan yola çıkarak makromuzu oluşturduk).

Bir CSV dosyasından veri içe aktardığınızda, Excel, verileri tabloya doğru şekilde aktarmak için bazı seçenekleri ayarlamanızı isteyebilir.

İçe aktarma tamamlandığında menüye gidin makrolar(Makrolar) sekmesi görüş(Görüntüle) ve bir komut seçin Makroları Görüntüle(Makrolar).

Açılan iletişim kutusunda makromuzun adını içeren bir satır göreceğiz. FormatData. Seçin ve tıklayın Koşmak(Uygulamak).

Makro çalışmaya başladığında, tablo imlecinin hücreden hücreye atladığını göreceksiniz. Birkaç saniye sonra, bir makro kaydederken olduğu gibi verilerle aynı işlemler yapılacaktır. Her şey hazır olduğunda, tablo, yalnızca hücrelerde farklı verilerle, elle biçimlendirdiğimiz orijinal ile aynı görünmelidir.

Kaputun altına bakalım: Bir makro nasıl çalışır?

Birden fazla kez belirtildiği gibi, bir makro, bir programlama dilinde program kodudur. Uygulamalar için Visual Basic(VBA). Makro kayıt modunu açtığınızda, Excel yaptığınız her işlemi VBA yönergeleri şeklinde kaydeder. Basitçe söylemek gerekirse, Excel kodu sizin için yazar.

Bu program kodunu görmek için menüde ihtiyacınız var makrolar(Makrolar) sekmesi görüş(görüntüle) tıklayın Makroları Görüntüle(Makrolar) ve açılan iletişim kutusunda Düzenlemek(Değiştirmek).

Bir pencere açılacak Uygulamalar için Visual Basic, burada kaydettiğimiz makronun program kodunu göreceğiz. Evet doğru anladınız burada bu kodu değiştirebilir hatta yeni bir makro oluşturabilirsiniz. Bu derste tablo ile yaptığımız işlemler Excel'de otomatik makro kaydı kullanılarak kaydedilebilir. Ancak ince ayarlanmış sıra ve eylem mantığına sahip daha karmaşık makrolar, manuel programlama gerektirir.

Görevimize bir adım daha ekleyelim...

Orijinal veri dosyamızın veri.csv bazı işlemler tarafından otomatik olarak oluşturulur ve her zaman aynı yerde diskte saklanır. Örneğin, C:\Veri\veri.csv– güncellenmiş verilerle dosyanın yolu. Bu dosyayı açma ve ondan veri alma işlemi bir makroya da kaydedilebilir:

  1. Makroyu kaydettiğimiz şablon dosyasını açın - FormatData.
  2. adlı yeni bir makro oluşturun veri yükle.
  3. Makro kaydederken veri yükle dosyadan verileri içe aktar veri.csv- dersin önceki bölümünde yaptığımız gibi.
  4. İçe aktarma tamamlandığında, makroyu kaydetmeyi durdurun.
  5. Hücrelerdeki tüm verileri silin.
  6. Dosyayı makro etkin bir Excel şablonu (XLTM uzantısı) olarak kaydedin.

Böylece, bu şablonu çalıştırarak iki makroya erişebilirsiniz - biri verileri yükler, diğeri onları biçimlendirir.

Programlamaya başlamak istiyorsanız, bu iki makronun eylemlerini tek bir makroda birleştirebilirsiniz - sadece kodu kopyalayarak veri yükle kodun başına FormatData.

Programlama konusunda güçlü değilseniz, ancak aynı zamanda, bazılarını uygulamanız gerekir.MS Excel'in standart işlevlerinin ve komutlarının ötesine geçen bir görev, internette çözüm arayabilirsiniz. Çözüm, büyük olasılıkla, çalışma kitabınıza kopyalayıp yapıştırmanız gereken VBA kodu biçimindedir, ardından bir şekilde bu kodu sizin için çalışır hale getirin, bu makalede size nasıl yapılacağını anlatacağım.

İki örnek düşünün:

1. Bir ekip aramak ve kullanmak

Örneğin, seçili hücrelere "1" sayısını ekleyecek bir komuta ihtiyacımız var. Arama motorunu çalıştırıyoruz, arama ifadesini yazıyoruz, sonuçları alıyoruz, göz atmaya başlıyoruz, kodu şöyle bir şeyde buluyoruz:

Sub Insert1() Dim q As Object On Error Resume Next Set q = Her q İçin Hücre Sayısı q Seçimde q = 1 Sonraki q End Sub

Bu kodu seçin (satır numaralandırma olmadan, kelimeden başlayarak Alt) ve bas ctrl+c. MS Excel çalışma kitabınıza gidin ve klavye kısayoluna basın Alt+F11, açık bir VBA düzenleyici penceresine sahip olacaksınız:

Sol pencerede "Proje - VBA Projesi" makroyu eklemek istediğiniz çalışma kitabımızı seçin (tıklayın), örneğin "VBAProject (Kitap2)":

"Ekle" menü öğesinde "Modül" ü seçin:

Soldaki "Proje - VBA Projesi" penceresinde yeni bir "Modüller" klasörüne ve içinde yeni bir "Modül1" nesnesine sahip olmalısınız:

İmleci sağ "Büyük" giriş alanına getirin ve ctrl+v, kopyalanan makro modüle yapıştırılır:

MS Excel'deki makrolar aşağıdaki yerlere eklenebilir:

  • Modülde, genellikle, kullanıcı tarafından bir düğmeye basılarak başlatılacak olan makroların kodunu (örneğin, bizim durumumuzda olduğu gibi) veya işlev kodunu (formülleri) eklerler;
  • Çalışma Sayfasında, genellikle, kullanıcının eylemlerine veya sayfadaki verilerdeki değişikliklere bağlı olarak başlatılması otomatik olarak gerçekleşmesi gereken makroların kodunu eklerler (veriler değişti, makro yürütüldü);
  • Çalışma Kitabında, genellikle kitap (dosya) üzerinde gerçekleştirilen eylemlere bağlı olarak başlatılması otomatik olarak gerçekleşmesi gereken makroların kodunu eklerler. Örneğin, bir çalışma kitabı açıldığında veya kapatıldığında veya kaydedildiğinde çalışan bir makro;
  • Makrolar ayrıca bir kullanıcı formunun parçası olabilir.

Genellikle kodu yayınlayan kişi, kodun bir modülde, sayfada veya çalışma kitabında nereye eklenmesi gerektiğini belirtir.

Bir çalışma sayfasına kod eklemek için VBA düzenleyicisinin sol penceresindeki uygun sayfayı seçin, farenin sol tuşu ile üzerine çift tıklayın, imleci sağ giriş alanına getirin ve kodu yapıştırın.

Bir Kitaba kod eklemek için "Bu Kitap"ı seçin:


Hadi çalışalım. Aşağıdaki kodu "Sayfa1"e yapıştırın.

Private Sub Worksheet_Change(ByVal Target As Range) Hatasında GoTo a If Target = 2 Then VBA.MsgBox("Cell " & Target.Address & " = 2") End If a: Exit Sub End Sub

Bu makro, sayfanın herhangi bir hücresine "2" girerseniz bir bilgi mesajı görüntüler.

Çalışma kitabına dönün, "Sayfa1"e gidin ve "A1" hücresine "2" sayısını girin ve Girmek, bundan sonra aşağıdaki mesajı görmelisiniz:

Bu mesajı görürseniz, her şeyi doğru yaptınız. Değilse, kodu yanlış yere yapıştırdınız, tekrar deneyin.

Kodu yapıştırırken, nereye yapıştırdığınıza dikkat etmeniz gerekir. Bu, VBA düzenleyici penceresinin başlığında yazılanlara bakarak yapılabilir:

2. Bir işlevi arama ve kullanma

İnternette, örneğin bir hücredeki kelime sayısını sayan bir işlevin VBA kodunu buluyoruz:

Public Function CountWordsInCell(Cell As Range) Dim q As Variant Application.Volatile q = VBA.Split(Application.WorksheetFunction.Trim(Cell.Value), " ") CountWordsInCell = UBound(q) + 1 End Function

Kodu kopyalayın, klavye kısayoluna basın Alt+F11, VBA düzenleyici açılır:


Kitabımıza yeni bir modül ekliyoruz ve kopyaladığımız kodu bu modüle yapıştırıyoruz:


VBA düzenleyicisini kapatın ve çalışma kitabınıza gidin. Hücrede yeni bir sayfa (isteğe bağlı) oluşturun A1"anne çerçeveyi yıkadı" metnini girin. Sonucu (kelime sayısı) almak istediğimiz hücrede duruyoruz, "Formüller" menüsünde "İşlev Ekle" düğmesini tıklayın:

Açılan "İşlev ekle" penceresinde, "Kategori" alanında "Kullanıcı tanımlı" seçeneğini seçin.

Kullanılabilir işlevler listesinde "Hücredeki sözcük sayısı"nı seçin, "Tamam"ı tıklayın:

Gerekli argümanları girin ve "Tamam" ı tıklayın:

Şu sonucu alıyoruz:

Önemli:

Makroyu eklediğiniz çalışma kitabını "Makro özellikli çalışma kitabı" olarak kaydetmezseniz, makro içeren tüm modüller silinecek ve tüm bu çalışmaları daha sonra yeniden yapmanız gerekecektir.

Bir modüle makro eklerken, metin yerine kırmızı işaretler görüyorsanız " ???????? "

Bu, bazı tarayıcılardan Kiril metni kopyalarken gözlemlenen bir kodlama sorununuz olduğu anlamına gelir. Bu sorunun üstesinden gelmek için kopyalanan kodu boş bir MS Excel sayfasına "Unicode Metin" olarak yapıştırmayı deneyin. Bunu yapmak için MS Excel çalışma kitabına gidin, boş bir sayfa seçin veya oluşturun, "A1" hücresinde durun ve klavye kısayollarına basın Ctrl+Alt+V. "Özel Yapıştır" menüsü görünmelidir, "Unicode Metin" i seçin ve "Tamam" ı tıklayın.

Kodun çalışma sayfasına soru işareti olmadan yapıştırılması gerekecek:

Bundan sonra, sayfaya yapıştırılan kodu bir kez daha kopyalayın ve modüle yapıştırın.

VBA düzenleyicide "Proje - VBA Projesi" penceresini görmüyorsanız, "Görünüm" menü sekmesine gidin ve listeden "Proje Gezgini"ni seçin veya klavye kısayoluna basın ctrl+r:

VBA, Microsoft uygulamaları için standart komut dosyası dili olarak kabul edilir ve artık tüm Office uygulamalarına ve hatta diğer şirketlerin uygulamalarına dahil edilmiştir. Bu nedenle, Excel için VBA'da uzmanlaştıktan sonra, diğer Microsoft yazılım ürünleri için doğrudan makro oluşturmaya geçebilirsiniz. Ayrıca, çok çeşitli uygulamaların işlevlerini aynı anda kullanan tam teşekküllü yazılım ürünleri oluşturabileceksiniz.

Excel'de makrolar nasıl etkinleştirilir

Varsayılan olarak, Excel'de makroları yönetmekten ve gezinmekten sorumlu sekme gizlidir. Bu seçeneği etkinleştirmek için sekmeye gidin Dosya gruba Seçenekler. Görüntülenen iletişim kutusunda Seçeneklermükemmel, sekmeye git Şerit kurulumu, sağ açılan kutuda, sekmenin karşısına bir işaret koyun Geliştirici. Bu adımlar, Excel 2010 ve sonraki sürümleri için geçerlidir.

Şeritte yeni bir sekme görünecek geliştirici Excel otomasyon kontrolleri ile.

Excel'de Makro Yazma

sekmesinde geliştirici grup içinde kod, düğmesine basın Makro kaydı. Bir iletişim kutusu belirecektir makro kayıt, bu, yazılmakta olan gelecekteki kod hakkında bazı bilgiler ister. İlk kez bir makro oluşturuyorsanız, düğmeyi tıklamanız yeterlidir. TAMAM. Artık Excel, veri girişi, biçimlendirme veya grafik oluşturma olsun, bir VBA modülündeki her kullanıcı eylemini yakalayacaktır. Makro kaydını durdurmak için düğmesine tıklayın. Kaydetmeyi bırak, aynı grupta olan Kod.

Düğmeyi kullanarak alternatif bir makro kayıt seçeneği de kullanabilirsiniz. makro kayıt, Excel çalışma kitabının sol alt köşesinde bulunur (durumun sağında Hazır).

Artık butona tıklayarak oluşturulan tüm makroların listesini görüntüleyebilirsiniz. Makro, bir grupta olmak Kod. Görüntülenen iletişim kutusunda, kodlarınıza daha açıklayıcı adlar verebilir veya belirli bir makroyu çalıştıracak klavye kısayolları ayarlayabilirsiniz. Bu pencereyi başlatmanın alternatif bir yolu da Alt + F8 tuşlarına basmaktır.

Makroları düzenleme

Tebrikler! İlk makronuzu yazdınız. Excel'in bizim için ne tür bir kod ürettiğini şimdi kontrol etmek mantıklı olacaktır. Oluşturulan kod VBA'da (Visual Basic for Applications) yazılmıştır. Görmek için açmanız gerekiyor. EditörVB(VBE), Alt + F11 veya düğmesine basılarak başlatılır GörselTemel sekme Geliştirici.

Düzenleyicide karışıklığı önlemek için çalışma kitabının, sayfasının veya modülün yalnızca bir sekmesiyle çalışabilirsiniz. Editörün gerçek hayatta nasıl göründüğü budur.

Bu aşamada VBA editörünün çeşitli pencerelerini ve menülerini daha ayrıntılı olarak incelemeyi öneriyorum. Bu size daha sonra çok zaman kazandıracaktır.

Kodu görüntülemek için bir şubeye tıklayın Modüller projeler penceresinde ve görünen şubeye çift tıklayın modül1 . Editör, resimde gösterildiği gibi kodu içeren bir pencere açacaktır.

Burada Excel'de çalışırken yazılan oluşturulan kodu düzenleyebilirsiniz. Örneğin, belirli bir sütunu 1'den 10'a kadar değerlerle doldurmak istediğinizi varsayalım. A sütununun ilk üç hücresine 1, 2 ve 3 değerlerini giren ilk üç adıma zaten sahipsiniz. Kalan yedi adımı eklememiz gerekiyor.

Yukarıdaki koda bakarsanız makronun belirli bir şekilde yapılandırıldığını göreceksiniz. Uygulama önce Range("A1").Select komutunu kullanarak imleci bir hücreye taşır, ardından ActiveCell.FormulaR1C1 = "1" kullanarak içeriğini düzenler. Böylece kalan adımlar için hücrenin adresini ve bu hücreye yazmak istediğiniz değeri değiştirerek bu adımları tekrarlayabiliriz. Örneğin, A4 hücresini 4'e ayarlamak için şunu yazarsınız:

Aralık("A4").Seçin
ActiveCell.FormulaR1C1 = "4"

Ve kalan değerler için aynı adımları tekrarlayın.

Düzenlemeyi bitirdikten sonra çalışma kitabını kaydedin. Makroyu F5 düğmesine basarak çalıştırabilir veya Excel çalışma kitabına dönerek sekmeye gidebilirsiniz. geliştirici gruba kod -> makrolar ve listeden ilgilendiğiniz makroyu seçin.

Excel tarafından oluşturulan kodu dikkatlice incelemek için birkaç dakikanızı ayırın. Yeni başlayan biriyseniz, kodu öğrenmek için birkaç dakika harcamak, daha sonra VBA nesnelerini tanıtmada uzun bir yol kat edecektir. Lütfen dikkate aldığımız örneğin sadece bir örnek olduğunu unutmayın. Daha sonra tartışacağımız benzer sonuçlara ulaşmanın daha hızlı ve daha verimli yolları var.

Excel makrolarının yürütme hızını artırma

Çok uzak çok iyi. Makronun yürütülmesini hızlandırmaya yardımcı olacak birkaç numaraya bakalım. Örnek olarak yukarıdaki kod parçasını düşünün. Modern bilgisayarlar, söz konusu kodu o kadar hızlı çalıştıracak ki, farkına bile varmayacaksınız. Ama ya işlemi 50.000 kez yapmanız gerekiyorsa. Biraz zaman alacak. Yazdığınız makro yüzlerce satır uzunluğundaysa, makro yürütme sırasında kullanılmayan bazı işlemleri keserek kodun yürütülmesini hızlandırabilirsiniz.

Application.ScreenUpdating komutunu kullanma

İlk hile, makro yürütülürken ekranı güncellemeyi reddetmektir. Bu, Excel'in bilgisayarın işlem gücünden tasarruf etmesine ve yalnızca tüm kod yürütüldükten sonra ekranı yeni değerlerle güncellemesine olanak tanır. Bunu yapmak için makronun başında ekran yenilemeyi devre dışı bırakmak için bir komut ve makronun sonunda ekran yenilemeyi etkinleştirmek için bir komut eklemeniz gerekir.

1
2
3
4
5
6
7
8
9
10

Alt Makro1()

Aralık("A1").Seçin

Aralık("A2").Seç

Aralık("A3").Seçin


son alt

Application.ScreenUpdating komutu, Excel'e yeniden hesaplanan verileri ekranda görüntülemeyi durdurmasını ve kod yürütmenin sonunda bitmiş değerleri döndürmesini söyler.

Uygulama komutunu kullanma Hesaplama

İkinci numara, otomatik hesaplamaları devre dışı bırakmaktır. Açıklamama izin ver. Bir kullanıcı veya işlem bir hücreyi her güncellediğinde, Excel ona bağlı olan tüm hücreleri yeniden hesaplamaya çalışır. Diyelim ki makronun güncellemeye çalıştığı hücre 10.000 diğer hücreyi etkiliyorsa, Excel kod bitmeden hepsini yeniden hesaplamaya çalışacaktır. Buna göre, çok sayıda etkileyen hücre varsa, yeniden hesaplama kod yürütmesini önemli ölçüde yavaşlatabilir. Bunun olmasını önlemek için Uygulamayı ayarlayabilirsiniz. Formül yeniden hesaplamayı manuel moda geçirecek ve ardından makronun sonunda otomatik hesaplamayı döndürecek olan kodun başında hesaplama.

1
2
3
4
5
6
7
8
9
10
11
12

Alt Makro1()
Application.ScreenUpdating = Yanlış

Aralık("A1").Seçin
ActiveCell.FormulaR1C1 = "1"
Aralık("A2").Seç
ActiveCell.FormulaR1C1 = "2"
Aralık("A3").Seçin
ActiveCell.FormulaR1C1 = "3"

Application.ScreenUpdating = Doğru
son alt

Makronun sonunda bu seçeneği tekrar otomatik olarak değiştirmeyi unutmayınız. Aksi takdirde, sekmeye tıklayarak bunu Excel'in kendisinde yapmanız gerekecektir. formüller gruba hesaplama ve Seç Hesaplama seçenekleri –> Otomatik.

Hücre seçiminden ve aralıklarından kaçının

Otomatik makro kayıt modunda, Excel'in Aralık("A1") gibi bir hücre seçim komutunu çok sık kullandığını fark edebilirsiniz. Seç. Örneğimizde, bir hücreyi seçmek ve değerini değiştirmek için bu komutu birkaç kez kullandık. Bunu basitçe hücrenin adresini belirterek ve gerekli değere ayarlayarak önleyebilirsiniz (Makro, imlecin bir hücreden diğerine hareketini kaydetti, dolayısıyla bu adımları ekledi. Ancak, gerekli değildir). Yani daha verimli bir kod şöyle görünecektir.

1
2
3
4
5
6
7
8
9
10
11

Alt Makro1()
Application.ScreenUpdating = Yanlış
Application.Calculation = xlCalculationManual
Aralık("A1").Değer = 1
Aralık("A2").Değer = 2
Aralık("A3").Değer = 3
Aralık("A4").Değer = 4
Aralık("A5").Değer = 5
Uygulama.Hesaplama = xlHesaplamaOtomatik
Application.ScreenUpdating = Doğru
son alt

Bu durumda, sadece hücreye başvurduk ve onu hiç seçmeden gerekli değeri verdik. Bu yöntem öncekinden daha hızlıdır.

Excel makro örnekleri

Aşağıda, en çok tekrarlanan görevleri otomatikleştirmenize yardımcı olacak birkaç örnek VBA kodu bulunmaktadır.

Kitaplarla çalışmak

Makro 1: Sıfırdan yeni bir çalışma kitabı oluşturun
Makro 2. Belirli bir hücreyi/aralığı değiştirirken çalışma kitabını kaydedin
Makro 3: Kapatmadan önce çalışma kitabını kaydet
Makro 4: Çalışma kitabındaki bir çalışma sayfasını kapatmadan önce koruma
Makro 5: Bir Excel dosyasını açarken bir sayfanın korumasını kaldırın
Makro 6. Kitabı istediğiniz sayfada açın
Makro 7: Kullanıcı tarafından tanımlanan belirli bir çalışma kitabını açma
Makro 8. Kitabın açık olup olmadığını belirleyin
Makro 9. Bir klasörde kitap olup olmadığını belirleyin
Makro 10. Açık çalışma kitaplarındaki tüm bağlantıları güncelleyin
Makro 11. Tüm kitapları bir kerede kapatın
Makro 12. Bir klasördeki tüm çalışma kitaplarını açın
Makro 13. Bir klasördeki tüm kitapları yazdırın
Makro 14. Hücre dolana kadar kitabın kapanmasına izin vermeyin
Makro 15. Geçerli çalışma kitabını bugünün tarihiyle yedekleyin

Sayfalarla çalışın

Makro 16. Yeni bir çalışma sayfası ekleme ve bir isim atama
Makro 17. Etkin olan hariç tüm sayfaları sil
Makro 18. Etkin çalışma sayfası dışındaki her şeyi gizle
Makro 19. Kitabın tüm sayfalarını görüntüle
Makro 20: Çalışma Sayfalarını Taşıma
Makro 21. Sayfaları ada göre sıralama
Makro 22. Sayfaları Sekme Rengine Göre Gruplandır
Makro 23. Sayfayı yeni çalışma kitabına kopyala
Makro 24: Her sayfa için yeni bir çalışma kitabı oluşturun
Makro 25 - Sayfaları Yazdır
Makro 26. Tüm sayfaları koru
Makro 27. Tüm sayfaların korumasını kaldır
Makro 28: İçindekiler tablosu oluşturun
Makro 29: Çalışma sayfasını çift tıklatarak yakınlaştırın
Makro 30. Etkin satır sütununu seçin

Aralıkları seçme ve düzenleme

Makro 31: Aralık Seçimi ve Biçimlendirme
Makro 32: Adlandırılmış aralıklar oluşturun ve seçin
Makro 33. Bir hücre satırı üzerinde yineleme
Makro 34: Aralıkları seçme ve biçimlendirme
Makro 35. Bir aralığa boş dizeler ekleyin
Makro 36. Tüm gizli satırları ve sütunları göster
Makro 37 - Boş satırları kaldır
Makro 38 - Boş sütunları kaldır
Makro 39: Çalışma kitabındaki tüm formülleri seçme ve biçimlendirme
Makro 40. İlk boş satırı veya sütunu bulun ve seçin
Makro 41: İkincil dolgu rengini uygula
Makro 42. Çift tıklama ile aralıkları sıralama
Makro 43. Belirli bir alanda kaydırma aralığını sınırlama
Makro 44. Sayfanın yazdırılabilir alanını otomatik olarak ayarla

Verilerle çalışma

Makro 45: Bir aralığı kopyalayıp yapıştırın
Makro 46: Bir aralıktaki tüm formülleri değerlere dönüştürün
Makro 47. Metin değerlerini sayılara dönüştürün
Makro 48. Kısa çizgileri eksiye dönüştürün
Makro 49. Bir aralıktaki tüm hücrelerden fazladan boşlukları kaldırın
Makro 50. Aralığın her hücresinde soldaki 5 karakteri kesin
Makro 51. Bir hücreye eksik sıfırlar ekleyin
Makro 52. Boş hücreleri sıfırla değiştirin
Makro 53: Hücrenin başına veya sonuna metin ekleme
Makro 54: Bir veri dönüştürme makrosu oluşturun
Makro 55 - Verileri temizle (yazdırılmayan karakterler)
Makro 56. Bir veri aralığındaki kopyaları vurgulayın
Makro 57. Yinelenen satırları gizle
Makro 58. Otomatik filtre oklarını seçerek gizleyin
Makro 59. Filtrelenmiş satırları yeni bir çalışma kitabına kopyalayın
Makro 60: Otomatik Filtrede her öğe için yeni bir sayfa oluşturun
Makro 61 - Durum çubuğunda filtrelenmiş sütunları göster

Pivot tablolarla çalışma

Makro 62: Bir pivot tabloyu geriye dönük uyumlu hale getirme
Makro 63: Bir çalışma kitabındaki tüm pivot tabloları yenileyin
Makro 64. Kitabın tüm pivot tablosunun bir "envanterini" oluşturma
Makro 65: Aynı veri önbelleğini kullanarak tüm pivot tabloları oluşturun
Makro 66. Bir pivot tabloda tüm ara toplamları gizleyin
Makro 67. Özetin tüm alanlarının veri adlarını değiştirin
Makro 68 - Tüm pivot veriler için toplamayı zorla
Makro 69: Tüm veri öğelerine sayı biçimi uygula
Makro 70: Pivot alanları alfabetik olarak sıralayın
Makro 71: Veri öğelerine özel sıralama uygula
Makro 72: Özet Tabloyu Koru
Makro 73: Özet Alan Kısıtlamalarını Uygula
Makro 74. Özetin ayrıntılarıyla birlikte sayfaların otomatik olarak silinmesi
Makro 75: Her filtre öğesi için bir özet tablo yazdırın
Makro 76: Her filtre öğesi için yeni bir dosya oluşturun
Makro 77. PivotTable için Veri Aralığı Hazırlama

Çizelgeler ve grafiklerle çalışma

Makro 78 - Çalışma sayfasındaki grafikleri yeniden boyutlandırma
Makro 79. Grafiği belirli bir aralığa bağlayın
Makro 80: Bir dizi başıboş grafik oluşturun
Makro 81: Tüm çizelgeleri bir çalışma sayfasında yazdırın
Makro 82. En iyi ve en kötü değeri işaretleme
Makro 83 - Farklı grafiklerdeki değerler için aynı renkler
Makro 84. Grafiklerin renginin aralıkların rengine uygunluğu

Excel'den e-posta gönderme

Makro 85 - Etkin çalışma kitabını postayla gönder (ek)
Makro 86 - Bir dizi değeri ek olarak gönderme
Makro 87: Tek bir sayfayı ek olarak gönderme
Makro 88. Dosyalarımıza bağlantı içeren bir e-posta gönderin
Makro 89: Kişi listemize adres ekleyerek posta gönderme
Makro 90: Tüm ekleri ayrı bir klasöre kaydedin
Makro 91: Belirli ekleri bir klasöre kaydedin

Diğer Office uygulamalarıyla etkileşim

Makro 92 - Excel'den bir erişim sorgusu çalıştırın



Makro 96 - Excel'den bir Access veritabanını sıkıştır
Makro 97: Excel verilerini bir Word belgesine gönderme
Makro 98. Word Belgesi ile Birleştirme Yapma
Makro 99: Excel verilerini bir PowerPoint sunumuna gönderme
Makro 100. Excel Grafiklerini PowerPoint Sunumlarına Gönderme
Makro 101: Çalışma Kitabını PowerPoint Sunumuna Dönüştür

Diğer Office uygulamalarıyla etkileşim
Word, Access ve PowerPoint ile nasıl çalışacağınızı öğrenin
Makro 92 - Excel'den bir erişim sorgusu çalıştırın
Makro 93: Excel'den bir Access makrosu çalıştırın
Makro 94: Excel'den bir Access raporu açma
Makro 95 - Excel'den bir erişim formu açma