Excel VBA ile çarpma işlemi yapmak için kullanılabilecek 3 alternatif aşağıda verilmiştir.
Option Explicit
Sub CarpmaIslemiAlternatifleri()
Dim sayi1, sayi2 As Double
Dim dizi1, dizi2 As Variant
sayi1 = 3
sayi2 = 5
'Yöntem 1
Range("A1") = sayi1 * sayi2
'Yöntem 2
Range("A2") = WorksheetFunction.Product(sayi1, sayi2)
'Yöntem 3
dizi1 = Array(3)
dizi2 = Array(5)
Range("A3") = WorksheetFunction.SumProduct(dizi1, dizi2)
End Sub
Option Explicit
Sub carpmaIslemiAlternatifleri()
Dim sayi1, sayi2 As Double
Dim dizi1, dizi2, dizi3 As Variant
sayi1 = 3
sayi2 = 5
'--------------------------------------------------
'Yöntem 1
'Çarpma işaretini kullanarak çarpma yaptık.
'--------------------------------------------------
Range("A1") = sayi1 * sayi2
'--------------------------------------------------
'Yöntem 2
'WorksheetFunction'un Product formülünden
'yararlanarak çarpma yaptık.
'--------------------------------------------------
Range("A2") = WorksheetFunction.Product(sayi1, sayi2)
'--------------------------------------------------
'Yöntem 3
'Biraz gereksiz bir yöntem ama belki işe yarayan
'bir durum olur. Bu SumProduct (TOPLA.ÇARPIM)
'verilen eşit boyutlu 2 ya da daha fazla dizide
'sırasıyla her dizinin n. sıradaki elemanını
'alıp çarpar. Sonra bu çarpım sonuçlarını da
'alıp toplar. Biz de bir nevi bunu çarpma işlemi
'için özelleştirdik.
'Örnek
'dizi1 = Array(3, 2, 4)
'dizi2 = Array(3, 2, 4)
'dizi3 = Array(3, 2, 4)
'-----------------------
' 27, 8, 64 (toplam 99)
'
'--------------------------------------------------
dizi1 = Array(3)
dizi2 = Array(5)
Range("A3") = WorksheetFunction.SumProduct(dizi1, dizi2)
End Sub