Excel'de Visual Basic for Applications (VBA) nasıl kullanılır?

Visual Basic for Applications ( VBA ), Excel'in işlevselliğini genişletmenize ve tekrarlayan görevleri otomatikleştirmenize olanak tanıyan bir programlama dilidir . VBA ile makrolar, formlar, özel fonksiyonlar ve etkileşimli uygulamalar oluşturabilirsiniz. Bu makalede, Excel'de VBA'nın temellerini ve basit veya karmaşık işlemleri gerçekleştirmek için nasıl kullanılacağını öğreneceksiniz.

Excel'de VBA'ya nasıl erişebilirim?

GetPaidStock.com 64886528e3bbe

Excel'de VBA'ya erişmek için şeritteki Geliştirici sekmesini etkinleştirmeniz gerekir. Bunu yapmak için şu adımları izleyin:

  • Dosya düğmesine ve ardından Seçenekler düğmesine tıklayın.
    tth img w10 app excel file
  • Excel Seçenekleri penceresinde, Şeridi Özelleştir seçeneğine tıklayın.
    tth img w10 app excel file personal option ribbon dev
  • Ana sekmeler listesinde, Geliştirici kutusunu işaretleyin ve ardından Tamam'ı tıklayın.

Ardından şeritte Geliştirici sekmesinin göründüğünü göreceksiniz. Bu sekme, Visual Basic düğmesi, Makro Kaydet düğmesi ve Denetim Ekle düğmesi gibi VBA ile ilgili çeşitli araçlar içerir.

tth img w10 app excel dev
tth img w10 app excel dev vba

Visual Basic düğmesi, VBA kodu oluşturup değiştirebileceğiniz Visual Basic Düzenleyicisi'ni (VBE) açar. Makro Kaydet düğmesi, uygulamada gerçekleştirdiğiniz eylemleri tekrarlayan VBA kodunu otomatik olarak oluşturur. Denetim Ekle düğmesi, elektronik tabloya düğmeler, onay kutuları veya açılır listeler gibi etkileşimli öğeler eklemenizi sağlar.

Excel'de VBA kodu nasıl yazılır?

Excel'de VBA kodu yazmak için Visual Basic Düzenleyicisi'ni (VBE) kullanmanız gerekir. Bunu açmak için, şeritteki Geliştirici sekmesinde bulunan Visual Basic düğmesine tıklayın.

VBE, çeşitli pencerelerden oluşur:

tth img w10 app excel dev vba 1 1
  • Proje penceresi, VBA kodu içeren nesnelerin hiyerarşik yapısını gösterir. Örneğin, Sheet1 ve Sheet2 adlı iki sayfası olan MyWorkbook.xlsm adlı bir çalışma kitabınız varsa, Sheet1 ve Sheet2 nesnelerinin yanı sıra ThisWorkbook adlı bir nesneyi de MyWorkbook.xlsm altında göreceksiniz.
    tth img w10 uygulaması excel dev vba fenetre projesi
  • Özellikler penceresi, Proje penceresinde seçilen nesnenin özelliklerini görüntüler. Örneğin, Sheet1 nesnesini seçerseniz, adı (Name), rengi (Tab.Color), kodu (CodeName) vb. gibi özelliklerini görürsünüz.
    tth img w10 app excel dev vba window property
  • Kod penceresi, Proje penceresinde seçilen nesneyle ilişkili VBA kodunu görüntüler. Örneğin, Sheet1 nesnesini seçerseniz, Sheet1 çalışma sayfasıyla etkileşim kurduğunuzda çalışan VBA kodunu görürsünüz.
    tth img w10 app excel dev vba window code
  • Anlık pencere, VBA kodunun sonuçlarını veya hata mesajlarını görüntüler. Örneğin, kullanıcıya bir mesaj göstermek için MsgBox işlevini kullanırsanız, mesaj Anlık pencerede görünür.
    tth img w10 uygulaması excel dev vba fenetre

VBA kodu yazmak için belirli sözdizimi kurallarına uymanız gerekir:

  • Her talimat bir satır sonu karakteri veya iki nokta üst üste (:) ile bitmelidir.
  • VBA dilindeki anahtar kelimeler büyük veya küçük harfle yazılmalıdır, ancak nesne, özellik veya metot adları büyük/küçük harf duyarlı olduğundan bu kural geçerli değildir.
  • Yorumların başına kesme işareti (') veya Rem gelmeli ve ayrı bir satırda veya bir talimattan sonra yazılmalıdır.
  • Karakter dizileri çift tırnak (" ) içine alınmalıdır.
  • Aritmetik operatörler +, -, *, / ve ^ (üs alma) şeklindedir.
  • Mantıksal operatörler VE, VEYA, DEĞİL, XOR ve Eqv'dir.
  • Karşılaştırma operatörleri =, <>, <, <=, > ve >='dir.
  • Önceden tanımlanmış sabitler True, False, Null, Empty, Nothing ve vbNullString'dir.

İşte kullanıcıya mesaj gösteren bir VBA kod örneği:

Sub Hello() ' Bu bir yorumdur MsgBox "Merhaba, ben Bing!" ' Bir mesaj görüntüler End Sub

Excel elektronik tablo fonksiyonları VBA'da nasıl kullanılır?

Excel elektronik tablo fonksiyonlarının çoğunu VBA komutlarınızda kullanabilirsiniz. Bunu yapmak için aşağıdaki sözdizimini kullanmalısınız:

Uygulama.Çalışma SayfasıFonksiyonu.FonksiyonAdı(argüman1, argüman2, ...)

Örneğin, A1:A10 aralığındaki değerlerin toplamını hesaplamak için SUM fonksiyonunu kullanmak istiyorsanız, şunu yazabilirsiniz:

Sub Sum() Dim result As Double ' Double türünde bir değişken tanımlar result = Application.WorksheetFunction.Sum(Range("A1:A10")) ' SUM fonksiyonunun sonucunu değişkene atar MsgBox result ' Sonucu görüntüler End Sub

VBA'da kendiniz oluşturduğunuz özel fonksiyonları da kullanabilirsiniz. Bunu yapmak için aşağıdaki sözdizimini kullanmalısınız:

Fonksiyon FonksiyonAdı(argüman1 Tip1 Olarak, argüman2 Tip2 Olarak, ...) DönüşTipi Olarak ' Bildirimler ve talimatlar FonksiyonAdı = ifade ' Fonksiyona döndürülecek sonucu atar Fonksiyon Sonu

Örneğin, bir sayının karesini hesaplayan bir fonksiyon oluşturmak istiyorsanız, şunu yazabilirsiniz:

Function Square(number As Double) As Double ' Sayıyı argüman olarak alan ve sayı döndüren bir fonksiyon tanımlar. Square = number * number ' Sayının karesini fonksiyona atar. End Function

Daha sonra bu fonksiyonu VBA komutlarınızda veya Excel formüllerinizde kullanabilirsiniz. Örneğin:

Sub Test() Dim x As Double ' Double türünde bir değişken tanımlar x = 5 ' Değişkene 5 değerini atar MsgBox Square(x) ' x'in karesini görüntüler End Sub

Excel'de makro nasıl oluştururum?

Makro, bir kez çalıştırılan bir dizi VBA komutudur. Excel'de tekrarlayan veya karmaşık görevleri otomatikleştirmek için makrolar oluşturabilirsiniz. Makro oluşturmanın iki yolu vardır: kaydetmek veya yazmak.

Makro kaydet

Makro kaydetmek, Excel'de gerçekleştirdiğiniz eylemleri yakalamak ve bunları VBA koduna dönüştürmek için şeritteki Geliştirici sekmesinde bulunan Makro Kaydet düğmesini kullanmayı içerir. Bu, makro oluşturmanın en basit ve en hızlı yoludur, ancak kötü optimize edilmiş veya gereksiz kod üretebilir.

Makro kaydetmek için şu adımları izleyin:

  • Şerit üzerindeki Geliştirici sekmesinde bulunan Makro Kaydet düğmesine tıklayın.
    tth img w10 app excel dev save macro
  • Makro Kaydet iletişim kutusunda, makronuza bir ad verin, isterseniz bir klavye kısayolu seçin, makronuzu kaydetmek istediğiniz konumu (etkin çalışma kitabı, yeni çalışma kitabı veya kişisel çalışma kitabı) seçin ve isterseniz bir açıklama yazın.
    tth img w10 app excel dev save macro
  • Kaydı başlatmak için Tamam'a tıklayın.
  • Excel'de otomatikleştirmek istediğiniz işlemleri gerçekleştirin. Örneğin, bir tabloyu biçimlendiren, tabloyu seçen, ona bir stil uygulayan, alfabetik olarak sıralayan vb. bir makro oluşturmak istiyorsanız.
  • Kaydı sonlandırmak için şeritteki Geliştirici sekmesinde bulunan Kaydı Durdur düğmesine tıklayın.

Ardından, seçtiğiniz klavye kısayolunu kullanarak, şeritteki Geliştirici sekmesinde bulunan Makrolar düğmesine tıklayarak veya VBE'deki Çalıştır düğmesini kullanarak makronuzu çalıştırabilirsiniz.

Bir makro yazın

Makro yazmak, otomatikleştirmek istediğiniz eylemlere karşılık gelen VBA kodunu doğrudan yazmak için VBE'yi kullanmayı içerir. Makro oluşturmanın en esnek ve güçlü yöntemidir, ancak programlama bilgisi gerektirir.

Makro yazmak için şu adımları izleyin:

  • Şerit üzerindeki Geliştirici sekmesinde bulunan Visual Basic düğmesine tıklayarak VBE'yi açın.
    tth img w10 app excel dev vba
  • Proje penceresinde, makronuzu saklamak istediğiniz nesneyi seçin (aktif çalışma kitabı, yeni çalışma kitabı veya kişisel çalışma kitabı).
  • Kod penceresinde, otomatikleştirmek istediğiniz eylemlere karşılık gelen VBA kodunu yazın. Örneğin, bir tabloyu biçimlendiren bir makro oluşturmak istiyorsanız, aşağıdaki kodu yazın:
Sub FormatTable() ' Tabloyu seçer Range("A1:D10").Select ' Tabloya stil uygular Selection.Style = "Tablo 1" ' Tabloyu A sütununa göre alfabetik olarak sıralar ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A10") , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:D10") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

Ardından makronuzu VBE'deki Çalıştır düğmesini kullanarak veya bir klavye kısayolu veya kontrol atayarak çalıştırabilirsiniz.

tth img w10 app excel dev vba test code

SSS

İşte Excel'de VBA kullanımıyla ilgili sıkça sorulan bazı sorular:

VBA nedir ve neden kullanılır?

VBA, Microsoft Office ile birlikte gelen Visual Basic sürümüdür. nesne yönelimli bir programlama . VBA, kod kullanarak Excel'in nesnelerine, özelliklerine ve yöntemlerine erişmenizi ve bunları değiştirmenizi sağlar. Bu, grafik arayüzüne kıyasla Excel üzerinde daha hassas ve güçlü bir kontrol sağlar.

VBA kullanmanın çeşitli avantajları vardır:

  • Veri temizleme, tablo biçimlendirme, grafik oluşturma gibi tekrarlayan veya sıkıcı görevleri otomatikleştirebilirsiniz.
  • Excel'i özel ihtiyaçlarınıza uyacak şekilde özelleştirebilir, yazılımda bulunmayan özellikler ekleyebilir veya davranışını değiştirebilirsiniz.
  • Kullanıcıyla diyalog kutuları, formlar veya özel mesajlar kullanarak etkileşim kurabilirsiniz.
  • Excel'i Outlook, Word, Access, SQL Server gibi diğer Office uygulamaları veya harici veri kaynaklarıyla entegre edebilirsiniz.

Excel'de VBA kodunda nasıl hata ayıklama yapılır?

Excel'de VBA kodunda hata ayıklamak için, kesme noktaları, adım adım çalıştırma, İzleme penceresi veya Yerel Ayarlar penceresi gibi VBE araçlarını kullanabilirsiniz. Bu araçlar, kod yürütmesini kontrol etmenize, değişken değerlerini kontrol etmenize ve hataları tespit etmenize olanak tanır.

Excel'de VBA kodunu nasıl koruyabilirim?

Excel'de VBA kodunu korumak için, VBA projesini bir parola ile kilitleyebilirsiniz. Bunu yapmak için şu adımları izleyin:

  • Şerit üzerindeki Geliştirici sekmesinde bulunan Visual Basic düğmesine tıklayarak VBE'yi açın.
  • Proje penceresinde, VBA proje adına sağ tıklayın ve VBA Proje Özellikleri'ni seçin.
  • VBA proje özellikleri iletişim kutusunda, Koruma sekmesine tıklayın.
  • Projeyi görüntülemeyi kilitlemek için kutuyu işaretleyin, bir parola girin ve ardından onaylayın.
  • İletişim kutusunu kapatmak için Tamam'a tıklayın.
  • Çalışma kitabını kaydedin ve kapatın.

Çalışma kitabını açarken veya kapatırken makroyu nasıl çalıştırırım?

Bir çalışma kitabı açıldığında veya kapatıldığında makro çalıştırmak için Workbook_Open veya Workbook_BeforeClose olaylarını kullanmalısınız. Bunu yapmak için şu adımları izleyin:

  • Şerit üzerindeki Geliştirici sekmesinde bulunan Visual Basic düğmesine tıklayarak VBE'yi açın.
  • Proje penceresinde, çalışma kitabı adının altında bulunan ThisWorkbook nesnesini seçin.
  • Kod penceresinde, sol üst köşedeki Nesne açılır listesinden Çalışma Kitabı'nı seçin.
  • Sağ üst köşedeki İşlem açılır listesinden Aç veya Kapatmadan Önce seçeneklerinden birini seçin.
  • Çalıştırmak istediğiniz makroyu çağıran VBA kodunu yazın. Örneğin:
Private Sub Workbook_Open() ' Çalışma kitabı açıldığında Bonjour makrosunu çalıştırır Bonjour End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' Çalışma kitabı kapatıldığında AuRevoir makrosunu çalıştırır AuRevoir End Sub

VBA kullanarak Excel'de form nasıl oluşturulur?

Excel'de VBA kullanarak form oluşturmak için VBA Form Tasarımcısını kullanmanız gerekir. Bunu yapmak için şu adımları izleyin:

  • Şerit üzerindeki Geliştirici sekmesinde bulunan Visual Basic düğmesine tıklayarak VBE'yi açın.
  • Proje penceresinde, VBA proje adına sağ tıklayın ve Ekle'yi, ardından Kullanıcı Formu'nu seçin.
  • Yeni bir Kullanıcı Formu penceresi açılır. Araç kutusundan sürükleyip bırakarak etiketler, metin kutuları, düğmeler vb. kontroller ekleyebilirsiniz.
  • Özellikler penceresinde denetimlerin özelliklerini değiştirebilir veya Kod penceresinde olaylarını işlemek için VBA kodu yazabilirsiniz.
  • Formu görüntülemek için Show yöntemini kullanabilirsiniz. Örneğin:
Sub ShowForm() ' Formu görüntüler UserForm1 UserForm1.Show End Sub

Excel'de VBA kullanarak özel bir fonksiyon nasıl oluşturulur?

Excel'de VBA kullanarak özel bir fonksiyon oluşturmak için aşağıdaki sözdizimini kullanmalısınız:

Fonksiyon FonksiyonAdı(argüman1 Tip1 Olarak, argüman2 Tip2 Olarak, ...) DönüşTipi Olarak ' Bildirimler ve talimatlar FonksiyonAdı = ifade ' Fonksiyona döndürülecek sonucu atar Fonksiyon Sonu

Örneğin, bir sayının karesini hesaplayan bir fonksiyon oluşturmak istiyorsanız, şunu yazabilirsiniz:

Function Square(number As Double) As Double ' Sayıyı argüman olarak alan ve sayı döndüren bir fonksiyon tanımlar. Square = number * number ' Sayının karesini fonksiyona atar. End Function

Daha sonra bu fonksiyonu VBA komutlarınızda veya Excel formüllerinizde kullanabilirsiniz. Örneğin:

Sub Test() Dim x As Double ' Double türünde bir değişken tanımlar x = 5 ' Değişkene 5 değerini atar MsgBox Square(x) ' x'in karesini görüntüler End Sub

VBA'da kendiniz oluşturduğunuz özel fonksiyonları da kullanabilirsiniz. Bunu yapmak için aşağıdaki sözdizimini kullanmalısınız:

Fonksiyon FonksiyonAdı(argüman1 Tip1 Olarak, argüman2 Tip2 Olarak, ...) DönüşTipi Olarak ' Bildirimler ve talimatlar FonksiyonAdı = ifade ' Fonksiyona döndürülecek sonucu atar Fonksiyon Sonu

Örneğin, bir sayının karesini hesaplayan bir fonksiyon oluşturmak istiyorsanız, şunu yazabilirsiniz:

Function Square(number As Double) As Double ' Sayıyı argüman olarak alan ve sayı döndüren bir fonksiyon tanımlar. Square = number * number ' Sayının karesini fonksiyona atar. End Function

Daha sonra bu fonksiyonu VBA komutlarınızda veya Excel formüllerinizde kullanabilirsiniz. Örneğin:

Sub Test() Dim x As Double ' Double türünde bir değişken tanımlar x = 5 ' Değişkene 5 değerini atar MsgBox Square(x) ' x'in karesini görüntüler End Sub

Veya

=KARE(A1) ' A1 hücresindeki değerin karesini hesaplar

Çözüm

Bu makalede, Excel'de Visual Basic for Applications (VBA) kullanımını öğrendiniz. VBA'nın ne olduğunu ve neden kullanıldığını, Excel'de VBA'ya nasıl erişileceğini, Excel'de VBA kodunun nasıl yazılacağını, VBA'da Excel çalışma sayfası fonksiyonlarının nasıl kullanılacağını, VBA ile Excel'de makroların nasıl oluşturulacağını, VBA ile Excel'de formların nasıl oluşturulacağını ve VBA ile Excel'de özel fonksiyonların nasıl oluşturulacağını gördünüz. VBA ile oluşturabileceğiniz özel fonksiyonlar arasında Excel'de çıkarma işlemi gerçekleştiren fonksiyon da bulunmaktadır . Artık VBA'nın programlama gücünden yararlanarak Excel'i ihtiyaçlarınıza göre özelleştirebilir ve otomatikleştirebilirsiniz.

Önceki makale: Başlangıç ​​seviyesinde Python nasıl öğrenilir?
Sonraki makale: Bouygues Telecom e-posta hesabınıza nasıl bağlanabilirsiniz?