• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ETopla Formülünün makro karşılığı ve yineleme

Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Merhabalar..
Aşağıdaki formülü nasıl yineletebilirim...

Sub topla()
toplam = WorksheetFunction.SumIf(Sheets("10HaneliSeriNo").[B2:B65536], [B2], Sheets("10HaneliSeriNo").[A2:A65536])
[h2] = toplam
End Sub

B2 nin B3, B4 ... bir alt hücreden referans alması
H2 nin H3, H4 ... bir alt hücreye yazdırılması

Diğer bir şekilde açıklamak gerekirse aşağıdaki formülün makro karşılığı,
=+ETOPLA('10HaneliSeriNo'!$B$3:$B$65536;"*"&$B2&"*";'10HaneliSeriNo'!$A$3:$A$65536)

Teşekkürler...
 
Aşağıdaki kodlar umarım size bu konuda fikir verebilir.

Kod:
Sub MYSUMIF()
Set s1 = Sheets("10HaneliSeriNo")
Range("h2:h1000").ClearContents
For i = 2 To s1.[b65536].End(3).Row
Cells(i, "h").Value = WorksheetFunction.SumIf(s1.[b2:b65536], Cells(i, "b"), s1.[a2:a65536])
Next i
Set s1 = Nothing
End Sub
 
Aşağıdaki şekilde dener misiniz?
Kod:
Sub topla()
kacsatir = 5'Kaç satır kopyalayacaksanız o satır sayısını yazın
For i = 2 To kacsatir
toplam = WorksheetFunction.SumIf(Sheets("10HaneliSeriNo").Range("B" & i & ":B65536"), Cells(i, "b") , Sheets("10HaneliSeriNo").Range("a" & i & ":a65536"))
Cells(i, "h") = toplam
End Sub
 
Cevabınız için çok teşekkür ederim.. İstediğim sonuca %80 ulaştım..her iki cevapta aynı sonucu veriyor...
Tek bir eksik kaldı referans "b", cümle içinde ise sonuç vermiyor. Bunu nasıl düzeltebilirim. Yani içerir fonksiyonu gibi nasıl kullanabilirim...

Tekrar teşekkürler..
 
Son düzenleme:
Aşağıdaki şekilde dener misiniz?
Kod:
Sub topla()
kacsatir = 5 'Kaç satır kopyalayacaksanız o satır sayısını yazın
For i = 2 To kacsatir
toplam = WorksheetFunction.SumIf(Sheets("10HaneliSeriNo").Range("B" & i & ":B65536"), "*" & Cells(i, "b") & "*", Sheets("10HaneliSeriNo").Range("a" & i & ":a65536"))
Cells(i, "h") = toplam
End Sub
 
Sayın Hamitcan,
Cevabınızı uyguladım önce hata vermişti next ile kapatılmadığını farkettim, düzeldi... Sonuç verdi sadece 6 satırda hata var..
Aynı uygulamayı "*" kombinasyonunu sayın ripek'in makrosuna uyguladım doğru sonuç verdi fakat 154 satırda nasıl sonuçlandırabilirim..65536 doğru devam ediyor..
Teşekkürler...
 
Verileriniz 154.satırda bitiyorsa

Range("h2:h1000").ClearContents
For i = 2 To s1.[b65536].End(3).Row

satırını

Range("h2:h154").ClearContents
For i = 2 To 154

olarak değiştirebilirsiniz.
 
Sayın Ripek ve Sayın Hamitcan, çok çok teşekkürler... Sonuca ulaşılmıştır..
 
Geri
Üst