Excel'de VBA Makroları Yazma Konusunda Yeni Başlayanlar İçin Eğitim (Ve Neden Öğrenmelisiniz)

Excel'de VBA Makroları Yazma Konusunda Yeni Başlayanlar İçin Eğitim (Ve Neden Öğrenmelisiniz)

Excel Makroları size bir ton zaman kazandırabilir sık kullandığınız Excel işlemlerini otomatikleştirme . Ancak makrolar aslında oldukça sınırlıdır. Kayıt aracıyla hata yapmak kolaydır ve kayıt işlemi gariptir.





Makro oluşturmak için VBA'yı kullanmak size çok daha fazla güç verir. Excel'e tam olarak ne yapacağını ve nasıl yapacağını söyleyebilirsin. Ayrıca çok daha fazla işleve ve yeteneğe de erişebilirsiniz. Excel'i düzenli olarak kullanıyorsanız, VBA makrolarının nasıl oluşturulacağını öğrenmeye değer.





Temel bilgilerle başlayacağız.





VBA Nedir?

VBA, Uygulamalar için Visual Basic'tir , birçok Microsoft uygulamasında kullanabileceğiniz bir programlama dili. Visual Basic bir programlama dilidir ve VBA, bunun uygulamaya özel versiyonudur. (Microsoft, Visual Basic'i 2008'de durdurdu, ancak VBA hala güçlü oluyor).

Neyse ki programcı olmayanlar için VBA çok basittir ve onu düzenlemek için kullandığınız arayüz çok fazla yardım sunar. Kullanacağınız komutların çoğu, komut dosyanızın hızlı bir şekilde çalışmasını sağlamanıza yardımcı olan açılır öneriler ve otomatik tamamlamalar sunar.



Yine de, VBA'ya alışmak biraz zaman alıyor.

Excel'de VBA Makrolarının Avantajları

VBA bir makro kaydetmekten daha zorsa, neden kullanasınız? Kısa cevap, VBA makrolarından çok daha fazla güç elde etmenizdir.





Elektronik tablonuzu tıklayıp bu tıklamaları kaydetmek yerine, Excel'in tüm işlev ve yeteneklerine erişebilirsiniz. Sadece onları nasıl kullanacağınızı bilmeniz gerekiyor.

macbook air m1 vs macbook pro m1

VBA ile daha rahat olduğunuzda, normal bir makroda yapabileceğiniz her şeyi çok daha kısa sürede yapabilirsiniz. Excel'e söylediğiniz gibi sonuçlar da daha öngörülebilir olacaktır. kesinlikle ne yapalım. Hiç bir belirsizlik yok.





VBA makronuzu oluşturduktan sonra, başkalarının yararlanabilmesi için onu kaydetmek ve paylaşmak kolaydır. Bu, özellikle Excel'de aynı şeyleri yapması gereken çok sayıda insanla çalışırken kullanışlıdır.

Nasıl çalıştığını görmek için basit bir VBA makrosuna bakalım.

Excel'de bir VBA Makro Örneği

Basit bir makroya bakalım. Elektronik tablomuz çalışanların adlarını, çalışanların çalıştığı mağaza numarasını ve üç aylık satışlarını içerir.

Bu makro, her mağazadan üç aylık satışları ekleyecek ve bu toplamları elektronik tablodaki hücrelere yazacaktır (VBA iletişim kutusuna nasıl erişeceğinizden emin değilseniz, kontrol edin VBA adımlarımız burada ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

Bu uzun ve karmaşık görünebilir, ancak tek tek öğeleri görebilmeniz ve VBA'nın temelleri hakkında biraz bilgi edinebilmeniz için onu parçalayacağız.

Alt Bildirimi

Modülün başında 'Sub StoreSales()' var. Bu, StoreSales adlı yeni bir alt tanımlar.

Ayrıca işlevleri de tanımlayabilirsiniz --- fark, işlevlerin değer döndürebilmesi ve alt öğelerin yapamamasıdır (diğer programlama dillerine aşina iseniz, alt öğelerin yöntemlerin karşılığıdır). Bu durumda, bir değer döndürmemiz gerekmiyor, bu yüzden bir alt kullanıyoruz.

Modülün sonunda, Excel'e bu VBA makrosu ile işimizin bittiğini söyleyen 'End Sub' var.

Değişkenleri Bildirmek

Komut dosyamızdaki ilk kod satırlarının tümü 'Dim' ile başlar. Dim, VBA'nın bir değişken bildirmek için kullandığı komuttur.

Böylece 'Dim Sum1', 'Sum1' adında yeni bir değişken oluşturur. Ancak bunun ne tür bir değişken olduğunu Excel'e söylememiz gerekiyor. Bir veri türü seçmemiz gerekiyor. VBA'da birçok farklı veri türü vardır --- Microsoft'un yardım belgelerindeki tam liste .

VBA makromuz para birimleriyle ilgileneceğinden, Para Birimi veri türünü kullanıyoruz.

'Dim Sum1 As Currency' ifadesi, Excel'e Sum1 adlı yeni bir Para Birimi değişkeni oluşturmasını söyler. Excel'e türünü söylemek için bildirdiğiniz her değişkenin bir 'As' ifadesi olması gerekir.

Bir For Döngüsü Başlatmak

Döngüler, herhangi bir programlama dilinde oluşturabileceğiniz en güçlü şeylerden bazılarıdır. Döngülere aşina değilseniz, Do-While döngülerinin bu açıklamasına bakın. Bu örnekte, makalede de ele alınan bir For döngüsü kullanıyoruz.

Döngü şöyle görünür:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

Bu, Excel'e belirttiğimiz aralıktaki hücreler arasında yineleme yapmasını söyler. biz kullandık Aralık nesnesi VBA'da belirli bir nesne türü olan . Bu şekilde kullandığımızda ---Range('C2:C51')--- Excel'e bu 50 hücreyle ilgilendiğimizi söyler.

'Her Biri İçin', Excel'e aralıktaki her hücreyle bir şeyler yapacağımızı söyler. 'Sonraki Hücre' yapmak istediğimiz her şeyden sonra gelir ve Excel'e döngüyü baştan başlatmasını söyler (bir sonraki hücreden başlayarak).

Ayrıca şu ifadeye sahibiz: 'IsEmpty(Cell) Then Exit For'.

Ne yaptığını tahmin edebilir misin?

Not: Açıkçası, while döngüsü kullanmak daha iyi bir seçim olabilirdi . Ancak, öğretim uğruna, Çıkışlı bir For döngüsü kullanmaya karar verdim.

fotoğrafa kenarlık ekleme

If-Then-Else İfadeleri

Bu özel makronun özü If-Then-Else ifadelerindedir. İşte koşullu ifadeler dizimiz:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

Çoğunlukla, muhtemelen bu ifadelerin ne yaptığını tahmin edebilirsiniz. Yine de ActiveCell.Offset'e aşina olmayabilirsiniz. 'ActiveCell.Offset(0, -1)' Excel'e etkin hücrenin solundaki bir sütun olan hücreye bakmasını söyler.

Bizim durumumuzda bu, Excel'e mağaza numarası sütununa bakmasını söylüyor. Excel bu sütunda 1 bulursa, etkin hücrenin içeriğini alır ve onu Toplam1'e ekler. 2 bulursa, aktif hücrenin içeriğini Sum2'ye ekler. Ve bunun gibi.

Excel, tüm bu ifadeleri sırayla inceler. Eğer koşullu ifade tatmin edilirse, Then ifadesini tamamlar. Değilse, bir sonraki ElseIf'e geçer. Eğer sonuna kadar giderse ve hiçbir koşul sağlanmadıysa herhangi bir işlem yapmayacaktır.

Döngü ve koşul ifadelerinin birleşimi bu makroyu çalıştıran şeydir. Döngü, Excel'e seçimdeki her hücreden geçmesini söyler ve koşul ifadeleri ona bu hücreyle ne yapacağını söyler.

Hücre Değerlerini Yazma

Son olarak, hesaplamalarımızın sonuçlarını hücrelere yazıyoruz. Bunu yapmak için kullandığımız satırlar:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

'.Value' ve eşittir işaretiyle, bu hücrelerin her birini değişkenlerimizden birinin değerine ayarladık.

Ve bu kadar! Excel'e bu Sub'ı 'End Sub' ile yazmayı bitirdiğimizi ve VBA makrosunun tamamlandığını söylüyoruz.

makroyu çalıştırdığımızda makrolar düğmesindeki geliştirici sekmesinde, toplamlarımızı alırız:

Excel'de VBA'nın Yapı Taşlarını Bir araya getirmek

Yukarıdaki VBA makrosuna ilk baktığınızda oldukça karmaşık görünüyor. Ancak onu oluşturan parçalara ayırdıktan sonra mantık netleşir. Herhangi bir betik dili gibi, VBA'nın sözdizimine alışmak zaman alır.

Ancak pratik yaparak VBA kelime dağarcığınızı geliştirecek ve makroları daha hızlı, daha doğru ve onları kaydedebileceğinizden çok daha fazla güçle yazabileceksiniz.

Takıldığınız zaman, bir Google araması yapmak, VBA sorularınızı yanıtlamanın hızlı bir yoludur. Ve Microsoft'un Excel VBA referansı teknik bir cevap için incelemeye istekli iseniz yardımcı olabilir.

Temel bilgiler konusunda rahat olduğunuzda, VBA'yı aşağıdakiler için kullanmaya başlayabilirsiniz: Excel'den e-posta gönderme , Outlook görevlerini dışa aktarma ve bilgisayar bilgilerinizi görüntüleme.

intel i3 vs i5 vs i7
Paylaş Paylaş Cıvıldamak E-posta İşte FBI'ın Hive Ransomware için Uyarı Verme Nedeni

FBI, özellikle kötü bir fidye yazılımı türü hakkında bir uyarı yayınladı. İşte bu yüzden özellikle Hive fidye yazılımına karşı dikkatli olmanız gerekiyor.

Sonrakini Oku
İlgili konular
  • üretkenlik
  • E-tablo
  • Microsoft Excel
  • Microsoft Office 2016
  • makrolar
  • Kodlama Eğitimleri
Yazar hakkında sonra Albright(506 Makale Yayınlandı)

Dann, şirketlerin talep ve potansiyel müşteri yaratmasına yardımcı olan bir içerik stratejisi ve pazarlama danışmanıdır. Ayrıca dannalbright.com'da strateji ve içerik pazarlaması hakkında bloglar yazıyor.

Dann Albright'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın