Excel Macro'da Tutar Hesaplamaları
Excel Macro'da temel Tutar hesaplamaları aşağıdaki örneklerde açıklamalarla verilmiştir. Aşağıdaki tabloda henüz bir hesaplama yapılmamıştır.
Aşağıda görüntüde hesaplamalar ile ilgili program satırları verilmiştir. Bu Macro sayfasına Excel programında Alt-F11'a basılarak ulaşılır.
Bu görüntüden sonraki satırlarda görüntüdeki program satırları açıklamalar ile birlikte ve sizlerin kopya alacağı şekilde verilmiştir.
---------------------------------------------------------------------------------------------------------------------
Public Sub TutarHesaplamalari()
'Tutar Hesabı
'Her bir hücre Range("...") olarak kullanılmıştır.
'C2, D2 için açıklama: C2 ve D2 hücrelerindeki değerler çarpılmış ve E2 hücresine atanmıştır.
Range("E2") = Range("C2") * Range("D2")
Range("E3") = Range("C3") * Range("D3")
Range("E4") = Range("C4") * Range("D4")
Range("E5") = Range("C5") * Range("D5")
'KDV Hesabı
'r değişkeni satır numarasıdır. 2. satırdan 5. satıra kadar For-Next döngüsüyle hesaplama yapılmaktadır.
'E kolonundaki her bir hücre Range("E" & r) ve F kolonundaki her bir hücre Range("F" & r) kullanılarak elde edilmektedir.
'r satırı ve E kolonundaki Range("E" & r) hücresinde bulunan değer 0.18 KDV Oranı çarpılıp KDV Değeri hesaplanmaktadır.
'Bulunan değer, aynı satır ve F kolonundaki Range("F" & r) hücresine atanmaktadır.
For r = 2 To 5
Range("F" & r) = Range("E" & r) * 0.18
Next r
'KDVli Tutar Hesabı
'r satırındaki ilgili hücreler Cells(..,..) hücre belirteciyle ifade edilmektedir.
'r satırının 5. kolonunda ve 6. kolonundaki hücrelerde bulunan değerler toplanarak 7. kolonundaki hücreye atanmaktadır.
For r = 2 To 5
Cells(r, 7) = Cells(r, 5) + Cells(r, 6)
Next r
'KDV Toplamı
'Excel'deki Sum yani Topla fonksiyonuna karşılık, WorksheetFunction sınıfının Sum metodu kullanılmaktadır.
'Aşağıda F2:F5 aralığındaki değerler Sum metoduyla toplanmış ve sonuç F6 hücresine atanmıştır. Böylece KDV Toplamı hesaplanmıştır.
Range("F6") = WorksheetFunction.Sum(Range("F2:F5"))
'KDVli Tutar Toplamı
'Aşağıda G2:G5 aralığındaki değerler Sum metoduyla toplanmış ve sonuç G6 hücresine atanmıştır. Böylece KDVli Tutar Toplamı hesaplanmıştır.
Range("G6") = WorksheetFunction.Sum(Range("G2:G5"))
'Fiyat Ortalaması
'Excel'deki Average yani Ortalama fonksiyonuna karşılık, WorksheetFunction sınıfının Average metodu kullanılmaktadır.
'Aşağıda F2:F5 aralığındaki değerlerin ortalaması Average metoduyla hesaplanmış ve sonuç C6 hücresine atanmıştır. Böylece Fiyat Ortalaması hesaplanmıştır.
Range("C6") = WorksheetFunction.Average(Range("C2:C5"))
'Maksimum Tutar
'Max fonksiyonuna karşılık da, WorksheetFunction sınıfının Max metodu kullanılmaktadır.
'Aşağıda E2:E5 aralığındaki değerlerin maksimumu Max metoduyla hesaplanmış ve sonuç E6 hücresine atanmıştır. Böylece Maksimum Tutar hesaplanmıştır.
Range("E6") = WorksheetFunction.Max(Range("E2:E5"))
'Minimum Adet
'Benzer şekilde Min fonksiyonuna karşılık, WorksheetFunction sınıfının Min metodu kullanılmaktadır.
'Aşağıda D2:D5 aralığındaki değerlerin minimumu Min metoduyla hesaplanmış ve sonuç D6 hücresine atanmıştır. Böylece Minimum Adet hesaplanmıştır.
Range("D6") = WorksheetFunction.Min(Range("D2:D5"))
'Yüzde Hesabı
'2. satırdan itibaren 6. satıra kadarki her bir r satırının 7. kolonundaki değer, G6 hücresindeki Toplam değerine bölünmüştür. Bölüm de 100 ile çarpılarak Yüzde değerleri hesaplanmıştır. Bu yüzde değerleri aynı satırlardaki 8. kolona atanmıştır.
For r = 2 To 5
Cells(r, 8) = Cells(r, 7) / Range("G6") * 100
Next r
'Satır Adedi Hesabı
'CountA (Bağ_Değ_Dolu_Say) fonksiyonuna karşılık, WorksheetFunction sınıfının CountA metodu kullanılmaktadır.
'Aşağıda A2:A5 aralığındaki dolu satırların sayısı CountA metoduyla hesaplanmış ve sonuç A6 hücresine atanmıştır. Böylece Satır Adedi hesaplanmıştır.
Range("A6") = WorksheetFunction.CountA(Range("A2:A5"))
End Sub
---------------------------------------------------------------------------------------------------------------------
Yukarıdaki program satırları, Macro programı yazmak kısmında yazıldıktan sonra programın içindeyken F5 tuşuna basarak program çalıştırılır. Aşağıdaki görüntüdeki sonuçlar elde edilir.