Excel Makro (VBA) Dersleri - 15: Userform'a Otomatik Veri Getirme ve Mail Oluşturma

kusha · 01 Ağustos 2026 · 4 dk okuma

Kayıt formumuzu daha kullanıcı dostu hale getirmek için iki geliştirme yapacağız: form her açıldığında otomatik bir sonraki sicil numarasını göstermek, ve isim/soyisimden otomatik bir e-posta adresi türetmek.

UserForm_Activate: Form Açıldığında Otomatik Çalışan Kod

Private Sub UserForm_Activate()
    Dim sonSatir As Long
    sonSatir = Worksheets("Database").Range("A" & Rows.Count).End(xlUp).Row

    TextBox1.Value = Worksheets("Database").Range("A" & sonSatir).Value + 1
End Sub

UserForm_Activate, form ekranda görünür hale geldiği anda tetiklenir. Burada son kayıtlı sicil numarasını bulup bir fazlasını TextBox1'e otomatik yerleştiriyoruz — kullanıcı elle numara girmek zorunda kalmıyor.

Birleştirme Operatörüyle Otomatik E-posta Oluşturmak

Private Sub CommandButton1_Click()
    Dim eposta As String
    eposta = TextBox2.Value & "." & TextBox3.Value & "@sirket.com"

    Worksheets("Database").Range("D2").Value = eposta
End Sub

TextBox2 (isim) ve TextBox3 (soyisim) değerlerini & ile birleştirip aralarına nokta ve sabit bir alan adı ekleyerek, kullanıcı hiçbir şey yazmadan standart formatta bir kurumsal e-posta adresi türetiyoruz.

Neden Bu Küçük Detaylar Önemli?

Bu tür otomatikleştirmeler formun kendisini "akıllı" göstermez — kullanıcının yapması gereken manuel adımları azaltır. Sicil no'yu otomatik önermek veri girişindeki çakışma hatalarını, e-postayı otomatik türetmek yazım tutarsızlıklarını (herkesin farklı bir formatta e-posta yazması gibi) önler.

Sırada Ne Var?

Sırada, VBA ile yeni bir çalışma sayfası eklemeyi ve var olan bir şablonu kopyalayıp otomatik adlandırmayı göreceğiz.