Ardışık Sayfalarda Topla Çarpım Yaparak Sayfalar Toplamını Hesaplayan Fonksiyon

Ardışık sayfalarda topla.çarpım yaparak sonucunu getiren bir fonksiyon aşağıdadır. 

Aşağıdaki satırları Excel Macro kısmına yapıştırdıktan sonra oluşan yeşil renkli yazıları okuyun. 

Bu fonksiyon, tüm sayfalarda aynı iki kolonda bulunan değerleri aralarında çarpmakta, çarpımların sonucunu sayfalar toplamı olarak toplamaktadır. 

























'---------------------------------------------------------------------------------------------------------------

'Aşağıdaki prosedürün çalışması için, içindeki bir satır üzerine gelip en az bir kere F5 yapın.
Private Sub RegisterMyFunction()
  Application.MacroOptions _
    Macro:="ArdisikSayfalardaToplaCarpim", _
    Description:="Ardışık sayfalardaki aynı hücrelerde başlayan ikişer dizi üyeleri üzerinde topla-çarpım yapar ve sonuçlarını toplar.", _
    Category:="Kullanıcı Tanımlı", _
    ArgumentDescriptions:=Array( _
        "Ardışık Birinci Sayfa", _
        "Ardışık Sonuncu Sayfa", _
        "Birinci Kolon Adı", _
        "İkinci Kolon Adı (Opsiyoneldir. Bilgi girilmezse Birinci Kolonun sağındaki kolon adını alır.)", _
        "Başlangıç Hücresi Satır No (Opsiyoneldir. Bilgi girilmezse 2 değerini alır.)")
End Sub
'---------------------------------------------------------------------------------------------------------------
'Aşağıdaki fonksiyonu kullanırken yardım almak için, fonksiyon adını yazdıktan sonra Formül Çubuğunun solundaki fx düğmesine basın.
'Sinan Dilaver, 19/05/2021
Public Function ArdisikSayfalardaToplaCarpim(ArdisikSayfa1 As String, ArdisikSayfaSon As String, _
                                             Kolon1 As String, Optional Kolon2 As String = "", Optional rmin As Integer = 2)
 Kolon1No = Range(Kolon1 & 1).Column
 If Kolon2 <> "" Then
  Kolon2No = Range(Kolon2 & 1).Column
 Else
  Kolon2No = Kolon1No + 1
 End If
 ns = Sheets.Count
 smin = 0: smax = 0
 For s = 1 To ns
  If Sheets(s).Name = ArdisikSayfa1 Then
   smin = s
  Else
   If Sheets(s).Name = ArdisikSayfaSon Then
    smax = s
   End If
  End If
  If smin <> 0 And smax <> 0 Then
   Exit For
  End If
 Next s
 Toplam = 0
 For s = smin To smax
  rmax = WorksheetFunction.CountA(Sheets(s).Range(Kolon1 & rmin & ":" & Kolon1 & 1000000)) + 1
  For r = rmin To rmax
   Toplam = Toplam + Sheets(s).Cells(r, Kolon1No) * Sheets(s).Cells(r, Kolon2No)
  Next r
 Next s
 ArdisikSayfalardaToplaCarpim = Toplam
End Function


Bu blogdaki popüler yayınlar

Power BI'da Yeni Sütun Eklemek

Power BI Kullanımına Giriş

Power BI Üzerinde Fonksiyon Oluşturma ve Kullanma

Kümülatif Toplam

Ağırlıklı Ortalama Hesabı

SQL'de Group By Yaparak Rapor Oluşturmak

SQL'de Birden Fazla Tablodan Listeleme Yapmak

ETarihli Fonksiyonu

Bir Ürünün En Son Tarihli Fiyatının Bulunması