• DİKKAT

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

Do Loop Döngüsü ile arama

Katılım
12 Aralık 2015
Mesajlar
67
Excel Vers. ve Dili
Excel 2010 ingilizce
Merhaba arkadaşlar,

bir sayfa içindeki belli değerlerin tümünü do loop döngüsü ile aratmam gerekiyor. For next bloğunun içinde başka aramalar da var, ancak bu bloğun içinde ek olarak aratacağım başka bir değer birden fazla olduğu için do loop ile tümü bulunup toplanana kadar aratmak istiyorum.

aşağıdaki kullanmaya çalıştığım kod içindeki with bloğu içinde aranacak metin do loop ile tümü bulunup toplam değeri içinde birikecek şekilde ayarlama yapmam gerek.

(Toplatılacak değer bulunan metnin 3 hücre sağında olduğundan offset kullandım.)

Do Loop döngüsünden önce sayfadaki tek değeri bularak çalışıyor, ancak döngüyle tümünü buldurmak istiyorum.

Kod:
For..
....      
BulunacakMetin4 = "1212-14 POS HAVALE*"

 Do Until ActiveCell.Text = ""
        
        With fis.Range("I5:I70)
                    Set RngPos = .Find(What:=BulunacakMetin4, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            lookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False) 
                            
        End With

        toplam = toplam + RngPos.Offset(0, 3)
        Loop
...
next
Arama with bloğunu do loop arasına nasıl alabilirim?
Yardımlarınız için teşekkürler.
 
Sayın Mertsan
Yanlış anlamadığıysam aşağıda fonksiyon veya kod işinize yarar herhalde.
Kod:
=ETOPLA(I5:I70;"1212-14 POS HAVALE*";L5:L70)
Kod:
 toplam = Application.SumIf(Range("I5:I70"), "1212-14 POS HAVALE*", Range("L5:L70"))
 
Sayın alicimri,
Bağlantı sorunumdan dolayı biraz geç yanıt verdim, kusuruma bakmayın.

Konuyu tam anlayıp tek seferde çözüme ulaştırdınız. Üstelik tek satırlık bir kod ile do loop döngüsü ve arasındaki arama kodlarına gerek kalmadan..
Teşekkür ediyorum.

Önerdiklerinizden aşağıdaki vba kodunuz tam olarak işime yaradı.
formül olarak verdiğiniz de test için kullandım, sonuca ulaşmamda iyi oldu.

Kod:
 toplam = Application.SumIf(Range("I5:I70"), "1212-14 POS HAVALE*", Range("L5:L70"))
 
Geri
Üst