EXCEL VBA İLE GELİR-GİDER PROGRAMI (DT KARİYER)

 

Excel VBA kullanarak gelir-gider hesaplama programı oluşturabiliriz. Bu program, kullanıcıların gelir ve giderlerini ekleyebileceği, görüntüleyebileceği ve toplam gelir, toplam gider ve net kazancı hesaplayabileceği bir sistem içerecek.

1. Adım: Kullanıcı Arayüzü Oluşturma Excel'de Geliştirici sekmesinden VBA penceresini açın ve yeni bir UserForm oluşturun. Formunuza şu kontrolleri ekleyin:

  • Label1: "Açıklama"

  • TextBox1: Kullanıcıdan açıklama almak için

  • Label2: "Tutar"

  • TextBox2: Kullanıcıdan tutar almak için

  • Label3: "Tür"

  • ComboBox1: "Gelir" ve "Gider" seçeneklerini içeren işlem türü için

  • CommandButton1: "Kaydet" butonu

2. Adım: Kod Ekleme Formunuza çift tıklayarak kod penceresini açın ve aşağıdaki kodları ekleyin:

Private Sub CommandButton1_Click()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("GelirGider") 'Verilerin kaydedileceği sayfa adı

    

    ' Yeni veri eklemeden önce mevcut verileri kontrol edin

    If ws.Cells(1, 1).Value = "" Then

        ' Başlık satırı ekleyin

        ws.Cells(1, 1).Value = "Açıklama"

        ws.Cells(1, 2).Value = "Tutar"

        ws.Cells(1, 3).Value = "Tür"

        ws.Cells(1, 4).Value = "Tarih"

    End If

    

    Dim emptyRow As Long

    emptyRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1 'Boş satırın bulunması

    

    'Formdan verileri alıp tabloya ekleme

    ws.Cells(emptyRow, 1).Value = TextBox1.Value 'Açıklama

    ws.Cells(emptyRow, 2).Value = TextBox2.Value 'Tutar

    ws.Cells(emptyRow, 3).Value = ComboBox1.Value 'Tür

    ws.Cells(emptyRow, 4).Value = Now 'Tarih

    

    'Form alanlarını temizleme

    TextBox1.Value = ""

    TextBox2.Value = ""

    ComboBox1.Value = ""

    

    ' Toplam Gelir ve Gider Hesaplama

    Call ToplamHesapla

End Sub


Private Sub UserForm_Initialize()

    ComboBox1.AddItem "Gelir"

    ComboBox1.AddItem "Gider"

End Sub


Sub ToplamHesapla()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("GelirGider")

    

    Dim lastRow As Long

    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    

    Dim toplamGelir As Double

    Dim toplamGider As Double

    Dim netKazanc As Double

    

    toplamGelir = Application.WorksheetFunction.SumIf(ws.Range("C2:C" & lastRow), "Gelir", ws.Range("B2:B" & lastRow))

    toplamGider = Application.WorksheetFunction.SumIf(ws.Range("C2:C" & lastRow), "Gider", ws.Range("B2:B" & lastRow))

    netKazanc = toplamGelir - toplamGider

    

    ws.Cells(1, 6).Value = "Toplam Gelir"

    ws.Cells(2, 6).Value = toplamGelir

    ws.Cells(1, 7).Value = "Toplam Gider"

    ws.Cells(2, 7).Value = toplamGider

    ws.Cells(1, 8).Value = "Net Kazanç"

    ws.Cells(2, 8).Value = netKazanc

End Sub


3. Adım: Tablo Oluşturma Excel'de GelirGider adında bir sayfa oluşturun ve şu başlıkları ekleyin:

  • A1: Açıklama

  • B1: Tutar

  • C1: Tür

  • D1: Tarih

4. Adım: Makroyu Otomatik Başlatma Excel dosyasını her açtığınızda UserForm'un otomatik olarak açılmasını sağlamak için ThisWorkbook nesnesine aşağıdaki kodu ekleyin:

Private Sub Workbook_Open()

    UserForm1.Show

End Sub


Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...