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

Macro'yla Borç Alacak Girişi ve Mizanı

ETarihli Fonksiyonu

Kümülatif Toplam

Excel Macro'da Tutar Hesaplamaları

Dinamik Grafik Hazırlanması

Power BI Kullanımına Giriş

Eğer Benzerse

Macro'da For-Next ve If Kullanarak Koşullu Toplam