• DİKKAT

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

diziler hakkında

Katılım
8 Haziran 2007
Mesajlar
401
Excel Vers. ve Dili
excel fonksiyonlar
Forumda emeği geçen herkese merhaba. Arkadaşlar dizilerin mantığını anlamaya çalışıyorum. Ekli dosyada çok basit bir tablo var. A sütununda kişiler B sütununda
aldıkları ücretler var. Dizi yöntemiyle seçilen herhangi bir ismin ücret toplamını
E1'e nasıl yazdırabiliriz ? İlgilenen arkadaşlara şimdide teşekkürler. :)
 

Ekli dosyalar

Aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub TOPLAM_AL()
    If Range("D1") <> "" Then
        Range("E1") = WorksheetFunction.SumIf(Range("A:A"), Range("D1"), Range("B:B"))
    End If
End Sub
 
Aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub TOPLAM_AL()
    If Range("D1") <> "" Then
        Range("E1") = WorksheetFunction.SumIf(Range("A:A"), Range("D1"), Range("B:B"))
    End If
End Sub

Korhan hocam benim bu sorunun fonksiyonlarla yada döngülerle çözülmesiyle ilgili bir sıkıntım yok. Dizi mantığını kavramaya çalışıyorum belki basit olsun diye soruyu yanlış kurguladım bilemiyorum. Ben bu sorunun cevabını önce isimleri diziye alacak sonrada D1 hücresinde seçilen isme göre B sütunundan toplamları alıp E1'e yazacak biçimde merak ediyorum. İlginiz için tekrar teşekkürler hocam.
 
Aşağıdaki gibi kullanabilirsiniz.

Veriler iki boyutlu diziye alınarak sorgu içinde kullanılmıştır.

Kod:
Sub TOPLAM_AL()
    Dim Veri(), Son As Long, X As Long, Toplam As Double
    
    Son = Cells(Rows.Count, 1).End(3).Row
    Veri = Range("A2:B" & Son)
    
    For X = 1 To UBound(Veri)
        If Veri(X, 1) = Range("D1") Then
            Toplam = Toplam + Veri(X, 2)
        End If
    Next
    
    Range("E1") = Toplam
    
    MsgBox "Hesaplama tamamlanmıştır.", vbInformation
End Sub
 
Hocam çok teşekkürler. Aradığım buydu. Şimdi iş bunu biraz daha detaylandırmaya kaldı. :)
 
Geri
Üst