Excel Hakkında Herşey

Satış Hesaplayıcı

Aşağıda, her personelin üç aylık bir süre boyunca toplam satışını hesaplayan Excel VBA'daki bir programa bakacağız.

Durum:

Durum:

Diğer iki sayfa aynı kuruluma sahiptir, ancak farklı gün ve personel kombinasyonları ve farklı ciro tutarları vardır. Excel'de her çalışanın toplam satışını hesaplamanın birkaç yolu vardır, ancak bunun Excel VBA'da çok kolay yapılabileceğini göreceğiz. 

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin: 

1. Önce üç değişken ve bir Çalışma Sayfası nesnesi tanımlıyoruz. calisan1 olarak adlandırdığımız String türünde bir değişken, ciro1 olarak adlandırdığımız Tamsayı türünde bir değişken, sayfa1 olarak adlandırdığımız bir Çalışma Sayfası nesnesi ve Tamsayı türünde bir değişkeni i olarak adlandırıyoruz.

Dim calisan1 As String, ciro1 As Integer, sayfa1 As Worksheet, i As Integer

2. İki değişkeni başlatıyoruz. ciro1 değişkenini 0 değeri ile başlatıyoruz. Kullanıcıdan çalışan adını almak için InputBox fonksiyonunu kullanıyoruz.

ciro1 = 0
calisan1 = InputBox("Çalışan adını girin (büyük/küçük harfe duyarlı)")

InputBox fonksiyonunu kullanıyoruz.

3. Kullanıcı bir çalışan adı girdikten sonra bu çalışanın toplam satışını hesaplamak istiyoruz. Çalışma kitabı üç sayfadan oluşmaktadır. Gelecekte sayfalar eklenirse hala kullanılabilecek bir program istiyoruz. Bu nedenle aşağıdaki kod satırını kullanıyoruz:

For Each sayfa1 In Worksheets

4. Başka bir For Next döngüsü başlatıyoruz.

For i = 2 To 11

5. Girilen çalışan adı B sütunundaki çalışan adıyla eşleşirse, Excel VBA satış numarasını değişken toplamına ekler. Aşağıdaki kod satırlarını ekleyin:

If sayfa1.Cells(i, 2).Value = calisan1 Then
    ciro1 = ciro1 + sayfa1.Cells(i, 3).Value
End If

6. Her iki döngüyü de kapatmayı unutmayın.

Next i
Next sayfa1

7. Son olarak çalışanın toplam satışlarını MsgBox kullanarak görüntülüyoruz.

MsgBox calisan1 & " Toplam Cirosu: " & ciro1

8. Programı test edin. 

Murat için sonuç:

Murat için sonuç:

Tüm kodlar:

Private Sub CommandButton1_Click()

Dim calisan1 As String, ciro1 As Integer, sayfa1 As Worksheet, i As Integer

ciro1 = 0
calisan1 = InputBox("Çalışan adını girin (büyük/küçük harfe duyarlı)")

For Each sayfa1 In Worksheets
    For i = 2 To 13
        If sayfa1.Cells(i, 2).Value = calisan1 Then
            ciro1 = ciro1 + sayfa1.Cells(i, 3).Value
        End If
    Next i
Next sayfa1

MsgBox calisan1 & " Toplam Cirosu: " & ciro1

End Sub


Paylaş:

Ara

Son eklenen

Diğer Uygulamalarla Etkileşim

Bu bölümde VBA aracılığıyla Word, PowerPoint, Outlook, Adobe gibi uygulamalarla iletişim kurmayı öğreneceğiz. Excel’in dahili yöntem ve meto...