süzme yapılmış bir sayfada veri saydırma

Katılım
21 Kasım 2007
Mesajlar
50
Excel Vers. ve Dili
2000 tr
Range("A1").Select: Selection.AutoFilter Field:=1, Criteria1:="ada"
Süzülmüş ve dar kapsamlı bir excel sayfası yarattık.peki bu listeden;

Msgbox WorksheetFunction.CountIf(Range("C:C"), "İNT")

komutuyla

A hücresinde ada olanlara karşılık gelen C'deki "İNT" değerlerini saydırabilirmiz?

yoksa süzme işleminden sonra uzun yol olan currentregion.select yapıp boş bir sayfaya yapıştırarak mı int leri saydıracağız.ben bu uzun yoldan gitmek istemiyorum.istediğimi saydırıyorum ama boş bir sayfaya yapıştırma yapmadan süzülü hücrelerden int'ler saydırılabilir mi?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Alttoplam(3;Veriaralığı) şeklinde deneyiniz amacınız süzlmüş verilerin adedini saymaksa
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,444
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bu mesajı ne zaman görsem en az yarım saat olmak üzere epey bir araştırma yaptım, ama malesef VBA'nın kısa yollarını bulamadım.

Basit bir döngü ile sonuca ulaşmak isterseniz aşağıdaki kodları kullanabilirsiniz. Süz yapmaya gerek kalmadan.

Kod:
Sub Say()
For i = 2 To [A65536].End(3).Row
    If UCase(Cells(i, "A")) = "ADA" And UCase(Cells(i, "C")) = "İNT" Then
        Adet = Adet + 1
    End If
Next i
MsgBox Adet & " Adet Veri Bulundu"
End Sub
 
Katılım
21 Kasım 2007
Mesajlar
50
Excel Vers. ve Dili
2000 tr
Set s4 = Workbooks("rapor.xls").Sheets("Dağılım") >>bu dosya zaten açıktı....kodlar bu dosya üzerine kurulu zaten...

Workbooks.Open Filename:="D:\alan.xls"

For i = 2 To [AB65536].End(3).Row
If Cells(i, [AB]) = s4.[B3].Value And Cells(i, [AE]) = "Y" Then
Adet = Adet + 1
End If
Next i
s4.[h3].Value = Adet

MsgBox "Rapor Çıkarıldı", vbInformation, "Başarılı..."

alan dosyasının AB sütunlarında arayacağı değer; rapor dosyası dağılım sayfasınddaki (s4) B3 Değeri.. bu b3 değerinin alan dosyası AB sütununda olanların ve aynı zamanda Karşılığında "Y" değeri olanları sayacak.

sonra AB sütünunda s4'deki B4 DEĞERİ ve karşılığında AE'deki "Y için sayacak.
sonra AB sütünunda s4'deki B5 DEĞERİ ve karşılığında AE'deki "Y için sayacak.
.
.
.
EN SON B58'e gelecek.
AB sütünunda s4'deki B58 DEĞERİ ve karşılığında AE'deki "Y için sayacak.

örnek:
2 dosya var açık olan dikkat ediniz:

s4>>rapor dosyası dağılım sheeti. buradaki B3 DEĞERİ = "at" olsun.
"alan.xls" olan 2.dosyayı bilgisayar açacak. (D:\'de bu dosya)
ve
bu dosyadaki AE hücresinde sadece Y değerini alan AB'deki "at" ları sayacak
bu sayıyı gelip s4'deki H3' yazacak.

ondan sonra
s4 deki b3'ün bir altında olan B4 hücresindeki değeri
alan dosyasında AE hücresinde sadece Y değerini alan [AB]'deki s4.B4 hücresi değerini sayacak
bu sayıyı gelip s4'deki H4 yazacak.

bu döngü B58 değerini alan dosyasında arayıp toplam adedi H59'a kadar yazmaya kadar devam edecek.
 
Üst