Makro ile etopla gibi listeleme

Katılım
4 Eylül 2006
Mesajlar
80
Excel Vers. ve Dili
2000
Arkadaşlar merhaba,
Ekli dosyada hesap sayfasındaki listele tuşuna bastığımda tablo sayfasındaki parça kodu ve toplam adetleri etopla gibi süzecek bir makro yapabilirmiyiz, makro üzerinde değişiklikler yapmak için etopla fonksiyonunu kullanmak istemiyorum.
yardım ederseniz sevinirim, iyi çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Private Sub Hesap_Click()
On Error Resume Next
Set s1 = Sheets("tablo")
For a = 4 To s1.[b65536].End(3).Row
If WorksheetFunction.CountIf(s1.Range("b4:b" & a), s1.Cells(a, "b")) = 1 Then
c = c + 1
Cells(c + 16, "b") = s1.Cells(a, "b")
Cells(c + 16, "c") = WorksheetFunction.SumIf(s1.[b:b], s1.Cells(a, "b"), s1.[d:d])
End If
Next
End Sub
 
Katılım
4 Eylül 2006
Mesajlar
80
Excel Vers. ve Dili
2000
Elinize sağlık, uyguladım ve süper çalışıyor,
fakat bu toplam adet kısmında boş çıkan satırları hiç listeye almasa,
aslında etopla kullanmamamın bir nedenide o satırlardan kurtulmaktı.
çünkü çok sayıda boş satırım ve az sayıda dolu sütunum çıkacak sonuçlarda.
yardımınız için çok teşekkürler:)
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Private Sub Hesap_Click()
On Error Resume Next
Set s1 = Sheets("tablo")
For a = 4 To s1.[b65536].End(3).Row
If WorksheetFunction.CountIf(s1.Range("b4:b" & a), s1.Cells(a, "b")) = 1 Then
If IsError(WorksheetFunction.SumIf(s1.[b:b], s1.Cells(a, "b"), s1.[d:d])) = True Then GoTo 10
c = c + 1
Cells(c + 16, "b") = s1.Cells(a, "b")
Cells(c + 16, "c") = WorksheetFunction.SumIf(s1.[b:b], s1.Cells(a, "b"), s1.[d:d])
End If
10 Next
End Sub
 
Katılım
4 Eylül 2006
Mesajlar
80
Excel Vers. ve Dili
2000
Sayın leventm, harikasınız valla:)
sanki bir yerden kopyalayıp foruma yapıştırıyor gibisiniz.
çok teşekkürler, inanın çook işime yarayacak
 
Üst