- Katılım
- 18 Ağustos 2009
- Mesajlar
- 741
- Excel Vers. ve Dili
- Office Ev ve İş 2021 - Türkçe
- Altın Üyelik Bitiş Tarihi
- 12-12-2024
Arkadaşlar çalışma kitabımda bulunan sayfalara göre toplam adet hesaplattırmak için aşağıdaki fonksiyonu 1 arkadaşımız aracılığıyla yapmıştık ancak bunda bir yavaşlık söz konusu nedenini anlayalamadım. Görevi E sütunundaki numaraların tüm sayfalardaki F sütunundaki karşılıklarını bulup toplamını almak. Kısacası İşemrinin toplam üretimini buldurmak. Bunun için bir değişiklik yapılarak hızlandırılması sağlanabilirmi? 1-2-3....31 ve birde Toplam diye sayfalar var hepsinin toplamlarını alıyor.
Option Explicit
Function K_TOPLA(Kriter As Variant) As Double
Dim Sayfa As Worksheet, Son As Long, Veri As Variant, X As Long
For Each Sayfa In ThisWorkbook.Worksheets
Son = Sayfa.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Veri = Sayfa.Range("E1:F" & Son).Value
For X = LBound(Veri) To UBound(Veri)
If Veri(X, 1) = Kriter Then
If IsNumeric(Veri(X, 2)) Then K_TOPLA = K_TOPLA + Veri(X, 2)
End If
Next
Next
End Function

Option Explicit
Function K_TOPLA(Kriter As Variant) As Double
Dim Sayfa As Worksheet, Son As Long, Veri As Variant, X As Long
For Each Sayfa In ThisWorkbook.Worksheets
Son = Sayfa.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Veri = Sayfa.Range("E1:F" & Son).Value
For X = LBound(Veri) To UBound(Veri)
If Veri(X, 1) = Kriter Then
If IsNumeric(Veri(X, 2)) Then K_TOPLA = K_TOPLA + Veri(X, 2)
End If
Next
Next
End Function
