EXCEL VBA İLE MİNİ STOK TAKİP PROGRAMI

 

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: "Ürün Kodu"

  • TextBox1: Kullanıcıdan ürün kodu almak için

  • Label2: "Ürün Adı"

  • TextBox2: Kullanıcıdan ürün adı almak için

  • Label3: "Miktar"

  • TextBox3: Kullanıcıdan miktar almak için

  • Label4: "İşlem Türü"

  • ComboBox1: "Ekle", "Güncelle", "Sil" 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("StokVerileri") '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 = "Ürün Kodu"

        ws.Cells(1, 2).Value = "Ürün Adı"

        ws.Cells(1, 3).Value = "Miktar"

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

        ws.Cells(1, 5).Value = "İşlem Türü"

    End If


    Dim emptyRow As Long

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

    

    Dim urunKodu As String

    Dim urunAdi As String

    Dim miktar As Double

    Dim islemTuru As String

    

    urunKodu = TextBox1.Value

    urunAdi = TextBox2.Value

    miktar = TextBox3.Value

    islemTuru = ComboBox1.Value

    

    Select Case islemTuru

        Case "Ekle"

            ' Yeni ürün ekleme

            ws.Cells(emptyRow, 1).Value = urunKodu

            ws.Cells(emptyRow, 2).Value = urunAdi

            ws.Cells(emptyRow, 3).Value = miktar

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

            ws.Cells(emptyRow, 5).Value = islemTuru

        Case "Güncelle"

            ' Ürün güncelleme

            Dim foundRow As Long

            foundRow = Application.Match(urunKodu, ws.Range("A:A"), 0)

            If Not IsError(foundRow) Then

                ws.Cells(foundRow, 2).Value = urunAdi

                ws.Cells(foundRow, 3).Value = miktar

                ws.Cells(foundRow, 4).Value = Now

                ws.Cells(foundRow, 5).Value = islemTuru

            Else

                MsgBox "Ürün bulunamadı!", vbExclamation

            End If

        Case "Sil"

            ' Ürün silme

            Dim deleteRow As Long

            deleteRow = Application.Match(urunKodu, ws.Range("A:A"), 0)

            If Not IsError(deleteRow) Then

                ws.Rows(deleteRow).Delete

            Else

                MsgBox "Ürün bulunamadı!", vbExclamation

            End If

    End Select

    

    ' Form alanlarını temizleme

    TextBox1.Value = ""

    TextBox2.Value = ""

    TextBox3.Value = ""

    ComboBox1.Value = ""

End Sub


Private Sub UserForm_Initialize()

    ComboBox1.AddItem "Ekle"

    ComboBox1.AddItem "Güncelle"

    ComboBox1.AddItem "Sil"

End Sub


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

  • A1: Ürün Kodu

  • B1: Ürün Adı

  • C1: Miktar

  • D1: Tarih

  • E1: İşlem Türü

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...