Makro ile sonuca ulaşma

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Ekteki dosyada,Tutar kısmını makro ile yaptım. Ancak diğer kısımları Etopla yerine SumIf ile yapmak istiyorum. Uğraştım ama yapamadım. Çünkü Satırlar azalıp çoğalabilecek. Bu konuda yardıma ihtiyacım var. Şimdiden teşekkür ederim.

Saygılar
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Option Explicit

Sub Tutar()
    Dim Miktar As Double, Birim_Fiyat As Double
    Dim S1 As Worksheet, SonSatır, Satır As Variant
    
    Set S1 = Sheets("Sayfa1")
    
    SonSatır = S1.Cells(1, 1).End(4).Row
    
    For Satır = 2 To SonSatır
        Miktar = S1.Cells(Satır, 2)
        Birim_Fiyat = S1.Cells(Satır, 4)
        S1.Cells(Satır, 5) = Miktar * Birim_Fiyat
    Next
    
    SonSatır = S1.Cells(Rows.Count, 1).End(3).Row - 3
    
    S1.Cells(SonSatır + 2, 3) = WorksheetFunction.SumIf(S1.Range("C2:C" & SonSatır), "USD", S1.Range("E2:E" & SonSatır))
    S1.Cells(SonSatır + 3, 3) = WorksheetFunction.SumIf(S1.Range("C2:C" & SonSatır), "EURO", S1.Range("E2:E" & SonSatır))
    S1.Cells(SonSatır + 1, 5) = WorksheetFunction.SumIf(S1.Range("C2:C" & SonSatır), "TL", S1.Range("E2:E" & SonSatır))
End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Korhan hocam çok teşekkür ederim.
Elinize sağlık

Saygılar
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Hocam Kodların içine F sütunu 2. satırdan itibaren ardışık sıra no verdirebilir miyiz?

Saygılar
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Hocam aslında A sütunu için olsa daha iyi olur.

Saygılar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
"A" sütununa boş bir sütun ekleyin ve dilediğiniz gibi biçimlendirin.

Sonra aşağıdaki kodu deneyin.

Kod:
Option Explicit

Sub Tutar()
    Dim Miktar As Double, Birim_Fiyat As Double
    Dim S1 As Worksheet, SonSatır, Satır As Variant
    
    Set S1 = Sheets("Sayfa1")
    
    SonSatır = S1.Cells(1, 2).End(4).Row
    
    For Satır = 2 To SonSatır
        S1.Cells(Satır, 1) = Satır - 1
        Miktar = S1.Cells(Satır, 3)
        Birim_Fiyat = S1.Cells(Satır, 5)
        S1.Cells(Satır, 6) = Miktar * Birim_Fiyat
    Next
    
    SonSatır = S1.Cells(Rows.Count, 2).End(3).Row - 3
    
    S1.Cells(SonSatır + 2, 4) = WorksheetFunction.SumIf(S1.Range("D2:D" & SonSatır), "USD", S1.Range("F2:F" & SonSatır))
    S1.Cells(SonSatır + 3, 4) = WorksheetFunction.SumIf(S1.Range("D2:D" & SonSatır), "EURO", S1.Range("F2:F" & SonSatır))
    S1.Cells(SonSatır + 1, 6) = WorksheetFunction.SumIf(S1.Range("D2:D" & SonSatır), "TL", S1.Range("F2:F" & SonSatır))
End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Korhan hocam
her zaman hızır gibi yetişiyorsunuz.
çok teşekkür ederim.

Saygılar
 
Üst