Excel makro yazma. VBA Excel'de Makro – Bir şablon kullanarak belgeler oluşturun. Makro oluşturma ve silme

Basit veya karmaşık, sık veya seyrek tekrarlanan tekrarlanan kullanıcı işlemlerini otomatikleştirmek için Excel'in farklı sürümlerinde makrolar oluşturmak. Makroları pratikte kullanmak için genellikle bunları VBA düzenleyicisinde düzenlemeniz gerekir. Excel'in makroları çalıştırabilmesi için yapmanız gerekir.

Geliştirici Sekmesi

Makro kaydı, başlatma düğmesi ana Excel menüsünün "Geliştirici" sekmesinde bulunan yerleşik kaydedici tarafından gerçekleştirilir. Varsayılan olarak bu sekme görüntülenmez. Panele aşağıdaki gibi bir sekme ekleyebilirsiniz:

Excel 2010-2016

Yolu takip edelim: Dosya - Seçenekler - Şeridi Özelleştir. “Ana Sekmeler” listesinde sağdaki “Şeridi Özelleştir” bölümünde “Geliştirici” onay kutusunu seçin ve “Tamam” butonuna tıklayın.

Excel 2007

Yol boyunca ilerleyin: “Microsoft Office” simgesi - Excel Seçenekleri - “Temel” kategorisi, “Temel” kategorisinde, “Şeritte Geliştirici sekmesini göster” onay kutusunu işaretleyin ve “Tamam” düğmesini tıklayın.

Excel'in 2000-2003

Burada hiçbir şey görüntülemenize gerek yok: Makrolarla çalışma düğmeleri ve VBA düzenleyicisi ana menüde "Araçlar" - "Makro" sekmesinde bulunur.

Aslında Excel, makrolarla çalışmak için düğmeler yerine menü öğelerini kullanır, ancak kolaylık olması açısından onlara düğmeler demeye devam edeceğim.

Makro kaydetme

Excel 2007-2016

Şeritteki Geliştirici sekmesinde Makro Kaydet düğmesini tıklayın.

Excel'in 2000-2003

“Araçlar” - “Makro” - “Kaydı başlat” menü öğelerine göz atın.

Bir pencere açılacaktır:

Makro adı: değiştirilebilir veya varsayılan olarak bırakılabilir (sonraki sayıyla birlikte “Makro”). Zaten aynı isimde bir makronuz varsa, otomatik olarak oluşturulacak yeni bir programa yazılacaktır.

Klavye kısayolu: makroyu klavye kısayoluyla çalıştırmak istiyorsanız bir harf ekleyin Ctrl+"harf". Harfi hangi düzende girerseniz girin (örneğin, "th" veya "q"), makro o düzende çalışacaktır. Harf büyük harf (“Y” veya “Q”) olarak girilirse, makroyu çalıştırmak için klavye kısayolunu kullanın. Ctrl+Üst Karakter+“harf”.

  • "Bu kitap"- makro, kaydedicinin başlatıldığı kitaba kaydedilecektir (“Makroyu kaydet” düğmesine basıldığında).
  • "Yeni bir kitap"- yeni bir çalışma kitabı açılacak ve makro buraya kaydedilecektir.
  • "Kişisel Makro Kitap"- makro kaydedilecek ve tüm açık Excel çalışma kitaplarında bulunacaktır.

Tanım: Buraya, listeden seçtiğinizde mevcut makrolar penceresinde görüntülenecek olan makronun kısa bir açıklamasını ekleyebilirsiniz.

Pencereyi doldurduktan sonra “Tamam” butonuna tıklayın, “Makro Kaydet” butonunun adı “Kaydı Durdur” olarak değişir ve aslında makroyu kaydetmeye başlayabilirsiniz. Sırasını otomatikleştirmek istediğiniz işlemleri çalışma sayfasında gerçekleştirin; bunlar tamamlandıktan sonra Makro kaydedilecek ve makrolar listesinde görünecektir.

Makroların listesi

Excel'in tüm sürümlerinde "Makrolar" düğmesine tıklandığında makroların listesini içeren bir pencere açılır. Şuna benziyor:


  • Uygulamak- seçilen makro yürütülmek üzere başlatılacaktır.
  • İçeri gel- sanki kodda bir hata tespit edilmiş gibi makro koda geçiş başlatıldı ve duraklatıldı.
  • Değiştirmek- düzenleme için makro koduna geçiş.
  • Yaratmak- “Makro Adı” alanına yeni bir makronun adı yazıldığında buton aktif hale gelecektir.
  • Silmek- seçilen makronun silinmesi.
  • Seçenekler...- Bir makroyu ve açıklamasını çalıştırmak için klavye kısayolunu düzenleme.
  • İçinde:- burada tüm açık kitapları veya bunlardan birini seçebilirsiniz.
  • Tanım- Bir makro oluştururken veya parametrelerini düzenlerken aynı adı taşıyan alana eklenen metin.

Makro çalıştırma

Kaydedilmiş bir makroyu aşağıdaki yollarla çalıştırabilirsiniz:

  • Makro parametrelerinde belirtilen klavye kısayolu.
  • Makro listesi penceresinden “Çalıştır” butonuna tıklayın.
  • VBA düzenleyicisinden “Alt Çalıştır” düğmesini veya “F5” tuşunu kullanarak.
  • Form Kontrolleri bölümünden bir Excel çalışma sayfasına eklenen ve çalıştırılacak bir makro atanan bir düğme.

Ayrıca bir görüntüye makro atayabilir, hızlı erişim paneline ve menüye (şerit üzerinde) bir başlatma düğmesi ekleyebilirsiniz.

Basit bir makro kaydetme örneği

Bu adımları takip et:

Excel 2007-2016

  1. Bir Excel çalışma kitabı açın veya yeni bir tane oluşturun ve bunu makro etkin çalışma kitabı (.xlsm) olarak kaydedin.
  2. Geliştirici sekmesinde Makro Kaydet düğmesini tıklayın.
  3. "Giriş" sekmesine gidin ve herhangi bir hücre dolgu rengini seçin.
  4. Kaydı Durdur düğmesini tıklayın.

Excel'in 2000-2003

  1. Bir Excel çalışma kitabı açın veya yeni bir tane oluşturun ve bunu varsayılan uzantıyla (.xls) kaydedin.
  2. “Araçlar” - “Makro” - “Kaydı Başlat” menü öğelerine giderek makro kaydını etkinleştirin.
  3. Makro Kaydet penceresinde, varsayılan ayarları bırakarak Tamam'ı tıklayın.
  4. Araç çubuğunda herhangi bir hücre dolgu rengini seçin.
  5. Kaydı Durdur düğmesini tıklayın.

Sonuç olarak, seçilen hücrenin veya aralığın arka planını renklendirmek için basit bir makro kaydedilecektir.

Makro listesini açın, kayıtlı bir makroyu seçin ve Düzenle düğmesini tıklayın. Makro kodunuzu göreceksiniz:

Sub Macro1() " " Macro1 Makro " " Selection.Interior ile .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 5296274 .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub

Örneğinizdeki sayı (5296274), .

Aktif sayfadaki herhangi bir hücreyi veya aralığı seçin, VBA düzenleyicisine dönün ve "F5" tuşuna basın (imleç, başlatılacak makronun kodunun herhangi bir yerinde olmalıdır). Aktif sayfada seçilen aralık, makro kaydedilirken seçilen renkte renklendirilecektir.

Bir makro kaydedici, onsuz yapabileceğiniz çok sayıda ekstra satırı kaydedebilir. Makro aşağıdaki sürümde aynı şekilde çalışacaktır:

Sub Macro2() Selection.Interior.Color = 5296274 End Sub

Bu kodu kopyalayın ve VBA düzenleyicisindeki makronuzun altına aşağıya yapıştırın (sayısal renk değerini kendi değerinizle değiştirebilir veya örnekteki gibi bırakabilirsiniz). İmlecin bu makronun içinde olması gerektiğini unutmadan, doldurulmamış hücreleri seçip makroyu “F5” tuşuyla çalıştırarak işlevselliğini kontrol edin.

Makroların adları bir kitapta farklı olmalıdır, ancak bir çalışma kitabındaki tüm makrolara benzersiz adlar vermek daha da iyidir.

Bir düğmeye makro atama

Şimdi kaydedilen makroyu (ikisinden biri) Form Kontrolleri bölümünden Excel sayfasına eklenen butona atayalım:

Excel 2007-2016

  1. “Geliştirici” sekmesinde “Ekle” butonuna tıklayın ve “Form Kontrolleri” bölümünde buton görseline tıklayın.
  2. İmleci sayfanın tablo alanına taşıyın, imleç çarpı işaretine dönüşecektir ve farenin sol tuşuna tıklayın.

Excel'in 2000-2003

    1. “Görünüm” - “Araç Çubukları” - “Formlar” menü öğelerine giderek “Formlar” araç çubuğunu görüntüleyin.
    2. "Formlar" araç çubuğundaki Düğmeye tıklayın, ardından imleci çalışma sayfasının tablolu kısmına getirin, sol fare düğmesine basın ve bırakmadan istediğiniz boyutta bir dikdörtgen (düğme taslağı) çizin, ardından fareyi bırakın düğme.
    3. Açılan “Nesneye makro ata” penceresinde yeni makrolardan birini seçin ve Tamam'a tıklayın. İptal'e tıklarsanız makro atanmadan yeni bir düğme oluşturulur. Daha sonra üzerine sağ tıklayıp içerik menüsünden "Makro ata..." seçilerek atanabilir.

Buton oluşturuldu. Bir hücre veya aralık seçin ve oluşturduğunuz düğmeyi tıklayın. Arka plan rengi değişecektir.

Başka bir benzer makro kaydedebilir, palette "Dolgu Yok" seçeneğini seçip başka bir düğme oluşturabilir ve yeni oluşturulan makroyu ona atayabilirsiniz. Şimdi, ilk düğme seçilen aralığı renklendirecek, ikincisi ise dolguyu temizleyecektir.

Arka plan temizleme kodunun kısaltılmış versiyonu şöyle görünecektir:

Sub Macro3() Selection.Interior.Pattern = xlNone End Sub

Bir düğmeyi düzenlemek için etiketi, yazı tipini, boyutu, taşımayı vb. değiştirin. - sağ tıkladıktan sonra görünen bağlam menüsünü ve işaretçileri kullanın. Sayfayı kaydırırken düğmenin görünür kalmasını istiyorsanız üst satırı dondurun ve düğmeyi onun üzerine yerleştirin.

Excel'in yetenekleri yerleşik işlevler kümesiyle sınırlı değildir. Makrolar yazarak, Excel'de standart olmayan görevleri gerçekleştirmek için kendi işlevlerinizi oluşturabilirsiniz.

Örneğin, kendi yazdığınız bir makro bir simgeye eklenebilir ve Menü Şeridi'nde görüntülenebilir. Veya kullanıcı tanımlı bir işlev (UDF) oluşturabilir ve bunu Excel'in diğer yerleşik işlevleri gibi kullanabilirsiniz.

Makro, Visual Basic for Applications (VBA) programlama dilinde Excel için yazılmış bilgisayar kodudur. VBA programlama dilinin temel kavramları web sitemizdeki VBA Eğitimi'nde tartışılmaktadır. Ancak VBA kodu yazmaya başlamadan önce Excel makro güvenliği ve Visual Basic düzenleyicisini kapsayan derslere göz atmanızı öneririz.

Excel'de makro kullanma iznini ayarlama

Excel, bilgisayarınıza makrolar aracılığıyla girebilecek virüslere karşı yerleşik korumaya sahiptir. Excel çalışma kitabında makro çalıştırmak istiyorsanız güvenlik ayarlarının doğru yapılandırıldığından emin olun.

Visual Basic Düzenleyicisi

Makroları Kaydetme

Excel'in makro kayıt araçları, basit, tekrarlanan görevleri verimli bir şekilde tamamlamanın harika bir yoludur. Daha karmaşık makrolar yazarken de yardımcı olarak kullanılabilir.

Excel VBA Eğitimi

Excel VBA programlama diline yeni hakim olmaya başlayanlar için Visual Basic for Applications hakkında kısa bir giriş kursu sunuyoruz.

Genellikle, örneğin her çalışan veya her kişisel hesap için, bazı verilere dayanarak belirli bir şablona göre belgeler oluşturmanız gerekir. Ve aynı çalışanlardan veya kişisel hesaplardan çok sayıda olduğunda bunu manuel olarak yapmak oldukça uzun zaman alabilir, bu nedenle bugün bu tür görevleri Excel'de yazılmış bir makro kullanarak uygulama örneklerine bakacağız. VBA Excel'i.

Görevi biraz açıklayayım, diyelim ki toplu olarak bir şablon kullanarak bazı spesifik belgeler oluşturmamız gerekiyor. sonuçta, yukarıda söylediğim gibi, örneğin her çalışan için birçoğu olacak. Ve bunun doğrudan Excel'de yapılması gerekiyor, eğer bunu Word'de yapmak mümkün olsaydı, o zaman "Birleştir" yoluyla yapardık ama buna Excel'de ihtiyacımız var, bu yüzden bu görev için bir makro yazacağız.

Bu makalede, Access istemcisi aracılığıyla MSSql 2008 veritabanından Word ve Excel'e bir şablon kullanarak veri yüklemiştik - Access'ten bir Word ve Excel şablonuna veri yükleme. Ancak şimdi verilerimizin, istemcisinde böyle bir görevi gerçekleştirmenin imkansız olduğu veya çok emek yoğun olduğu bir veritabanında bulunduğunu varsayalım, bu nedenle gerekli verileri Excel'e yükleyeceğiz ve bu tür verilere dayanarak, belgelerimizi bir şablon kullanarak oluşturacağız.

Örneğimizde, elbette basit ve anlaşılır hale getirmek için basit bir şablon kullanacağız (yalnızca örnek olarak); sizin şablonunuz da bana öyle geliyor ki çok daha karmaşık olacak.

Bu sitede VBA Excel konusuna, örneğin materyalde zaten değinildiğini hatırlatmama izin verin - Parola kullanarak bir Excel sayfasına erişimin yasaklanması

Öyleyse başlayalım!

Belge oluşturmak için VBA Excel'de makro yazma

Görevimizi “Elektronik Çalışan Kartı” örneğini kullanarak gerçekleştireceğiz (bunu şimdi uydurdum :), gerçi gerçekte böyle şeyler de olabilir), yani. şirketinizin bir çalışanının kişisel verilerinin belirli bir biçimde, özellikle Excel'de saklandığı bir belge.

Not! Excel 2010'da programlama yapacağız.

Ve başlangıç ​​olarak ilk verileri sunuyoruz, yani. verinin kendisi ve şablon

Veri.

Bu verinin bulunduğu sayfaya “Veri” adını verelim

Örnek.

Şablonun bulunduğu sayfaya ayrıca “Şablon” adı verilecektir.

Bu çok basit bir şekilde yapılır, gerekli hücreyi veya aralığı seçin ve sağ tıklayıp "Ad ata"yı seçin, hücrenin adını yazın ve "Tamam"a tıklayın.

Alanlarımı şu şekilde adlandırdım:

  • Tam ad – fio;
  • № - sayı;
  • Pozisyon – dolg;
  • İkamet adresi – adresler;
  • Tel. Çalışan numarası – telefon;
  • Yorum – yorum.

VBA Excel'deki makro kodu

Makro kodu yazmak için şeritteki “Geliştirici” sekmesini, ardından makroları açın.

Not! Varsayılan olarak Excel 2010'da bu sekme mevcut olmayabilir; görüntülemek için şeride sağ tıklayın ve "Şeridi Özelleştir" menü öğesini seçin.

ardından sağ alanda "Geliştirici"nin yanındaki kutuyu işaretleyin

Daha sonra şeritte geliştirici sekmesi görünecektir.

Daha sonra aslında VBA kodumuzu yazacağımız bir kod düzenleyici penceresi açılacaktır. Aşağıda kod var, her zamanki gibi ayrıntılı olarak yorumladım:

Sub Card() "Book NewBook ​​= "" " Kartlarımızın saklanacağı yol " Yani makronun bulunduğu dosyanın başlatıldığı klasörde Path = ThisWorkbook.Path " Veri Sayfalarını içeren sayfayı seçin ( "Veri"). "Döngüyü başlatalım, diyelim ki 100.000 yineleme için" Başlığı hesaba katmadan ikinci satırdan başlayarak For i = 2 To 100.000 " Adlar tükendiğinde çıkalım, yani satırlar If Cells( i, 1).Value = "" Sonra i = 100000 Exit For End If "Kart dosyasının adı, soyadıyla adlandıralım Name_file = Path & "\" & Sheets("Data").Cells(i, 1 .Value & ".xls" 'E-Tablolar şablonunu içeren sayfayı seçin( "Template").Select " Hücrelerimize belirttiğimiz isimlere göre değerler atarız Range("fio").Value = Sheets ("Veri").Cells(i, 1).Value & " " & _ Sheets("Veri").Cells(i, 2).Value & " " & Sheets("Veri").Cells(i, 3 ).Değer Aralığı("sayı").Value = Sayfalar("Veri").Cells(i, 4).Değer Aralığı("addres").Value = Sayfalar("Veri").Cells(i, 5). Değer Aralığı("dolgn").Value = Sheets("Data").Cells(i, 6) .Value Range("phone").Value = Sheets("Data").Cells(i, 7).Value Aralığı ("yorum").Value = Sheets("Data").Cells(i, 8).Value " Tüm Hücreleri Kopyala.Seçimi Seçin.Kopyala" Создаем новую книгу или делаем ее активной If NewBook = "" Then Workbooks.Add NewBook = ActiveWorkbook.Name Else Workbooks(NewBook).Activate Cells(1, 1).Select End If " Вставляем данные в эту книгу Application.DisplayAlerts = False ActiveSheet.Paste Application.CutCopyMode = False " Сохраняем с нашим новым названием ActiveWorkbook.SaveAs Filename:= _ Name_file, FileFormat:=xlExcel8, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False NewBook = ActiveWorkbook.Name Application.DisplayAlerts = True " Снова активируем файл с макросом и выбираем лист Workbooks("Макрос.xls").Activate Sheets("Данные").Select " Переходим к следующей строке Next i " Закроем книгу Workbooks(NewBook).Close " Выведем сообщение об окончании MsgBox ("Выполнено!") End Sub !}

Artık geriye bu makroyu çalıştırmak kalıyor; bunun için geliştirici->makrolar->makro sekmemizi açın.

Tünaydın

Bu yazımı MS Excel'in makrolar gibi devasa bir bölümüne ayırmak istiyorum, daha doğrusu en baştan başlayıp Excel'de makro nasıl oluşturulur, ne işe yarar ve çalışmalarınızda nasıl kullanılır ona bakalım.

Kendi deneyimlerinizden bildiğiniz gibi, bir makroyla çalışırken çok fazla "rutin" vardır, yani sonucu elde etmek için gerekli olan aynı işlemler ve eylemler gerçekleştirilir, bu aynı tür tabloların doldurulması olabilir veya formlar, veri işleme, ikiz haftalık, aylık raporlar vb. gibi. Ancak makroları kullanmak, Excel'in yeteneklerini sonuna kadar kullanarak bu eylemleri otomatik olarak gerçekleştirmenize olanak tanıyacak ve bu rutin ve monoton işlemleri Excel'in güçlü omuzlarına bırakacaktır. Ayrıca makro kullanmanın nedeni, standart Excel işlevlerinde henüz uygulanmayan gerekli yeteneklerin eklenmesi olabilir (örneğin, çıktı alma, tek sayfada veri toplama vb.).

Daha önce bir makro duymadıysanız, bunun en doğru tanımı şöyle olacaktır: bunlar belirli bir sıra için programlanan ve Visual Basic for Applications (VBA) programlama ortamında yazılan eylemlerdir.. Bir makroyu çalıştırmak birden çok kez yapılabilir ve bu, Excel'i, hoşlanmadığımız veya manuel olarak yapmak istemediğimiz, ihtiyacımız olan herhangi bir eylem dizisini gerçekleştirmeye zorlar. Tüm Microsoft Office kompleksi için çok çeşitli programlama dillerine rağmen VBA standarttır ve ofis paketindeki herhangi bir uygulamada çalışır.

Yani Excel'de makro oluşturmanın 2 yolu vardır:

Excel'de makro oluşturmamakro kaydedici kullanma

Öncelikle makro kaydedicinin ne olduğunu ve makronun onunla ne ilgisi olduğunu açıklayalım.

Makro kaydedici VBA programlama dili kodlarındaki herhangi bir kullanıcı eylemini yorumlayan ve çalışma süreci sırasında elde edilen komutları program modülüne yazan, Excel'de yerleşik küçük bir programdır. Yani makro kaydedici açıkken ihtiyacımız olan günlük raporu oluşturursak, makro kaydedici komutlarındaki her şeyi adım adım kaydedecek ve bunun sonucunda otomatik olarak günlük rapor oluşturacak bir makro oluşturacaktır.

Bu yöntem, VBA dili ortamında çalışma bilgi ve becerisine sahip olmayanlar için oldukça faydalıdır. Ancak bir makronun yürütülmesi ve kaydedilmesinin bu kadar kolay olmasının avantajlarının yanı sıra dezavantajları da vardır:

  • Bir makro kaydedici yalnızca dokunabildiği şeyleri kaydedebilir, bu da yalnızca düğmeler, simgeler, menü komutları ve benzeri seçenekler kullanılamadığında eylemleri kaydedebileceği anlamına gelir;
  • Kayıt sırasında bir hata yapılmışsa bu da kaydedilecektir. Ancak VBA'da hatalı yazdığınız son komutu silmek için geri al butonunu kullanabilirsiniz;
  • Makro kaydedicide kayıt yalnızca MS Excel penceresi sınırları içerisinde gerçekleştirilir ve programı kapatırsanız veya başka bir programı açarsanız kayıt durdurulacak ve artık gerçekleştirilmeyecektir.

Makro kaydediciyi kayıt amacıyla etkinleştirmek için aşağıdaki adımları uygulamanız gerekir:


Makro kaydediciyle çalışmanın bir sonraki adımı, makronun daha fazla kaydedilmesi için parametrelerini yapılandırmak olacaktır; bu, pencerede yapılabilir; "Makro Kaydet", Nerede:

  • Makro adı alanı- herhangi bir dilde anladığınız bir ismi yazabilirsiniz, ancak bu isim bir harfle başlamalı ve noktalama işaretleri veya boşluk içermemelidir;
  • Klavye kısayol alanı- gelecekte sizin tarafınızdan makronuzu hızlı bir şekilde başlatmak için kullanılacaktır. Yeni bir tane kaydetmeniz gerekirse, bu seçenek menüde mevcut olacaktır. “Araçlar” - “Makro” - “Makrolar” - “Çalıştır” veya sekmede "Geliştirici" bir düğmeye basmak "Makrolar";
  • "Şuraya kaydet..." alanı— makro metninin kaydedileceği (ancak gönderilmeyeceği) konumu belirleyebilirsiniz ve 3 seçenek vardır:
    • "Bu kitap"— makro, geçerli çalışma kitabının modülüne kaydedilecek ve yalnızca bu Excel çalışma kitabı açıkken yürütülebilecektir;
    • "Yeni bir kitap"- makro, Excel'de boş yeni bir çalışma kitabının oluşturulduğu temel alınarak şablona kaydedilecektir; bu, makronun o andan itibaren bu bilgisayarda oluşturulacak tüm çalışma kitaplarında mevcut olacağı anlamına gelir;
    • "Kişisel Makro Kitap"- adı verilen özel bir Excel makro çalışma kitabıdır "Kişisel.xls" ve makroların özel bir depolama kütüphanesi olarak kullanılır. Başlangıçta, "Personal.xls" çalışma kitabındaki makrolar belleğe yüklenir ve herhangi bir zamanda herhangi bir çalışma kitabında başlatılabilir.
  • "Açıklama" alanı- burada makronun ne yapması gerektiğini ve nasıl, neden oluşturulduğunu ve hangi işlevlere sahip olduğunu açıklayabilirsiniz, bu tamamen bilgilendirici bir alandır ve buna bellek denir.

Makronuzu başlatıp kaydettikten sonra gerekli tüm işlemleri tamamladıktan sonra komutu kullanarak kaydı durdurabilirsiniz. "Kaydetmeyi bırak" ve makronuz, makro kaydedici kullanılarak oluşturulacaktır.

Excel'de makro oluşturmaVisual Basic düzenleyicisinde.

Bu yöntemde yukarıda da söylediğim gibi Excel'in herhangi bir sürümünde yerleşik olarak bulunan VBA program düzenleyicisi aracılığıyla Excel'de makro nasıl oluşturulur ona bakacağız.

VBA program düzenleyicisinin başlatılması, Excel programınızın sürümüne bağlı olarak farklı şekilde gerçekleşir:

  • Excel 2003 ve sonraki sürümlerde, menüde ihtiyacımız var "Hizmet", Öğeyi seçin "Makro" ve bas "Visual Basic Düzenleyici";
  • Excel 2007 ve sonraki sürümlerde, sekmede ihtiyacımız var "Geliştirici" düğmesine basın "Visual Basic Düzenleyici". Bu sekmeyi bulamazsanız menü öğesini seçerek etkinleştirmeniz gerekir. “Dosya” - “Seçenekler” - “Şeridi Özelleştir” ve iletişim kutusunda sekmeyi etkinleştirmek için onay kutusunu kullanın "Geliştirici".

Açılan pencerede VBA editörünün arayüzünü görebilirsiniz, buradaki her şey İngilizce yazılmış ve yerelleştirme yok, aramanıza gerek yok, sadece kabul edin ve çalışın, özellikle de sadece anlaşılmaz olduğu için ilk başta ve sonra her şey tanıdık gelecektir.

Peki VBA editöründe nasıl çalışılır, nerede saklanır ve Excel'de makro nasıl oluşturulur. Bu nitelikteki sorular, editörü gördüğünüz anda hemen ortaya çıkıyor ve şimdi hepsini ele alacağız.

Tüm makrolarımız sözde saklanacak yazılım modülleri. Excel'in herhangi bir sürümünün kitaplarından herhangi birinde, herhangi bir miktarda program modülü oluşturabilir ve oluşturduğumuz tüm makroları bunların içine yerleştirebiliriz. Bir modül, ihtiyaç duyduğunuz veya oluşturduğunuz herhangi bir sayıda makroyu içerebilir. Modüller pencerede mevcuttur "Proje Gezgini" ve makro düzenleyicinin sol üst köşesinde bulunur (bunu tuş kombinasyonuyla da arayabilirsiniz) CTRL+R).

VBA düzenleyicisindeki program modülleri çeşitli türlerde bulunur ve farklı seçenekler ve durumlar için kullanılır:


Aslında, standart bir modülde çalışırken makronun kendisi şöyle görünür:

Çalışan bir makro örneğine bakalım:

  • Tüm makrolar mutlaka operatörle başlayacaktır Alt, ardından makronuzun adı ve parantez içindeki bağımsız değişkenlerin listesi gelir. Tartışmanın olmadığı durumlarda parantezlerin boş bırakılması gerekir;
  • Tüm makrolar operatörle bitmelidir Son Alt;
  • Operatörler arasındaki veriler Alt Ve Son Alt, makro çalıştırıldığında çalışacak makronun gövdesidir. Örnekte, makro kontrol eder ve veri girerken veri tabanı listesinde bulur ve kriterler tarafından belirtilen değeri görüntüler.

Gördüğünüz gibi genel olarak programlama veya özel olarak VBA konusunda deneyiminiz yoksa ikinci yöntemi kullanmak ve anlamak daha zordur. Makronun otomatik olarak çalışmaya başlaması için hangi komutların, nasıl girildiğini, hangi argümanları kullandığını anlamak ve çözmek oldukça zordur. Ama kadim bilgelerin dediği gibi, yürüyen kişi yolun üstesinden gelecektir ve bu nedenle pes etmemeli, büyükbaba Lenin'in emirlerine uymalısınız...

Araç çubuğunda makroları çalıştırmak için bir düğme oluşturma

Daha önce de söylediğim gibi, bir kısayol tuşu kombinasyonuyla bir makro prosedürünü çağırabilirsiniz, ancak hangi kombinasyonun kime atandığını hatırlamak çok sıkıcı olduğundan, en iyi seçeneğiniz makroyu çalıştıracak bir düğme oluşturmaktır. Düğmeler çeşitli türlerde oluşturulabilir:


Bu yöntem, MS Excel'in herhangi bir sürümü için mevcuttur ve düğmeyi doğrudan çalışma sayfamıza bir grafik nesnesi olarak yerleştirmemizden oluşur. Bunu yapmak için ihtiyacınız olan:

  • MS Excel 2003 ve daha eski sürümlerde menüye git "Görüş", seçmek "Araç Çubuğu" ve düğmeye basın "Formlar".
  • MS Excel 2007 ve sonrasında sekmede ihtiyacın var "Geliştirici" açılır menüyü aç "Sokmak" ve bir nesne seçin "Düğme".

Tüm bunlardan sonra farenin sol tuşunu basılı tutarak sayfanıza bir düğme çizmelisiniz. Çizim işlemini tamamladıktan sonra, düğmeye tıkladığınızda yürütülmesi gereken makroyu seçmeniz gereken bir pencere otomatik olarak açılacaktır.

VBA'da Özel İşlevler Nasıl Oluşturulur

Prensip olarak, kullanıcı tanımlı işlevler olarak adlandırılan işlevlerin oluşturulması, standart bir program modülünde normal bir makro oluşturulmasından çok farklı değildir. Bu kavramların farkı, makronun, içinde yer alan eylemleri kitap veya sayfa nesneleri (bunlar formüller, hücreler vb.) ile gerçekleştirmesi, ancak kullanıcı fonksiyonunun yalnızca bizden aldığı değerlerle çalışmasıdır. ve bunlar hesaplamalar için argümanların başlangıç ​​verileridir.

Örneğin KDV olarak da bilinen katma değer vergisine yönelik özel bir işlev oluşturmak için VBA düzenleyicimizi açıp yeni bir modül eklememiz, menüden seçim yapmamız gerekiyor. "Sokmak" paragraf "Modül" ve fonksiyonumuzun metnini buraya girin: Bir işlev ile makro arasındaki temel farkın başlık olduğu unutulmamalıdır. İşlev değiştirildi Alt ve tamamlanmış bir argüman listesi var, örneğimizde bu Toplama. Kodumuz girildikten sonra menüde bulunan standart İşlev Sihirbazı penceresinde kullanılabilir hale gelecektir. "Formüller", paragraf "İşlev Ekle".
Ve bir kategori seçin "Kullanıcı tanımlı" yazılı fonksiyonumuzun görüntüleneceği yer "NDS".
Fonksiyonumuzu seçtikten sonra imleci KDV'yi hesapladığımız tutarı içerecek argümanın bulunduğu hücrenin üzerine getirebilirsiniz, her şey normal bir fonksiyonda olduğu gibi gerçekleşir.
Ve benim için hepsi bu! gerçekten bunu umuyorum Excel'de makro oluşturma hakkında makale sizin için açık ve yararlıydı. Yorumlarınız için çok minnettar olurum, çünkü bu okunabilirliğin bir göstergesidir ve bana yeni makaleler yazma konusunda ilham verir! Okuduklarınızı arkadaşlarınızla paylaşın ve beğenin!

Tıpkı diğer uygulamalarda olduğu gibi Microsoft Office Makro diye çok ilginç bir şey var. Özetle, makro programlanabilir bir eylem dizisidir. Bunu iki şekilde oluşturabilirsiniz:

1. İlgili menü öğesini kullanarak;

2. Manuel olarak.

İlk yöntem çok basittir ve özel programlama becerileri gerektirmez. Ancak makro oluşturmaya başlamadan önce güvenlik ayarlarınızı değiştirmeniz gerekir. Dosya/Seçenekler/Güven Merkezi/Güven Merkezi Ayarları/Makro Ayarları'na gidin. Burada seçmeniz gerekiyor Tüm makroları etkinleştir.


Artık her şey hazır ve doğrudan makroyu oluşturmaya geçiyoruz. Sekmeyi aç Geliştirici ve bas .

Makronun adını belirtmeniz, hızlı başlatma için bir anahtar atamanız ve ayrıca makroyu kaydetmek istediğiniz kitabı seçmeniz gereken bir pencere açılacaktır.

Düğmeye bastıktan sonra TAMAM Makro kaydı başlar. Yaptığınız her şey kayıt altına alınacaktır. Örneğin, bir tablo oluşturabilir ve onu düzenleyebilirsiniz; gerekli sayıda satır, sütun ve bunların genişliğini ayarlayabilirsiniz. Ardından kaydı durdurmak için uygun düğmeye basmanız gerekir.

Şimdi makromuzu çalıştırmak için sekmeye gitmemiz gerekiyor Geliştirici basmak Makrolar.

Açılan pencerede oluşturduğumuz makroyu bulun ve tıklayın. Uygulamak. Makroyu oluştururken girdiğimiz tuş kombinasyonunu da kullanabilirsiniz.

Bu makro oluşturma yönteminin pek fazla avantajı yoktur. Çoğu durumda, böyle bir makro yalnızca geçerli çalışma kitabında ve belirli bir durum için kullanılabilir. Bir programlama dili kullanılarak yazılmış bir makroyu kullanmak çok daha verimlidir Visual Basic. Ancak böyle bir makro oluşturmak belirli beceriler gerektirir. VBA'da makro oluşturmanın bir örneği ele alınmıştır.