Bakiye Hesaplama Makrosu

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
732
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Merhaba;

Ekli dosyamda E sütunundaki bakiye sütununu doldurmak için formül oluşturdum.
Bunu kod ile yapabilmemiz mümkün mü ?
 

Ekli dosyalar

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
692
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba.

Kod ile mutlaka yapılır. Ama ben bakiye formülünüzü gördüm. Ve çok daha basit daha kullanışlı bir formül önerebilirim. Sanırım muhasebe/finans işiyle ilgilenmektesiniz.
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
732
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Evet muhasebeciyim ve yeni formüllere açığım :)
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
692
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
çoketopla fonksiyonu ile yapılmakta. Tarih Hesap Kodu Hesap Adı vb şekilde istediğin gibi ssıralama yapabilirsin. Hata almazsın. Eğer ile uğraşmaya gerek kalmaz.

=ÇOKETOPLA(C$2:C2;B$2:B2;B2)-ÇOKETOPLA(D$2:D2;B$2:B2;B2)

Ekli dosyada eğermetinse fonksiyonu ile alternatif bir formül var. Bunu da geliştirebilirsin.
 

Ekli dosyalar

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
732
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Çoketopla iyiymiş.

İşyerindeki dosyamda 700.000 satır için bakiye formülü yapmıştım, sizden çoketopla ile yeni bir tane daha öğrendim.
Bu formülleri dosyaya uyguladığımda yavaşlık olacağını düşündüğüm için kod arayışına girmiştim.
Sonucu yarın göreceğim artık
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
692
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Yediyüzbin satırlık her excel dosyası kasar. Ben sadece excel sayfasında ssıralama yaptığın zaman bozulmayacak alternatif bir formül sundum. Özelliikle karrışık sıralı muavinde bakiye kontrolü için yararlı olur. Ancak yüksek satırlı excellerde ciddi kasma yapar.
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
732
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Peki kod olsa kasar mı ?
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
692
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Kod ile daha hızlı hesaplama yapılır.
 

Mdemir63

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

Kod:
Sub BakiyeHesapla()
Dim ws As Worksheet
Dim lr, i As Long
Set ws = Sheets("Sayfa1")

lr = ws.Range("A1048576").End(xlUp).Row

For i = 2 To lr
      ws.Cells(i, "E") = _
      "=IF(AND(RC[-3]=R[1]C[-3],RC[-3]<>R[-1]C[-3]),RC[-2]-RC[-1],IF(AND(RC[-3]=R[1]C[-3],RC[-3]=R[-1]C[-3]),R[-1]C+RC[-2]-RC[-1],IF(AND(RC[-3]<>R[1]C[-3],RC[-3]=R[-1]C[-3]),R[-1]C+RC[-2]-RC[-1])))"
Next i
End Sub
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
732
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Teşekkür ederim, elinize sağlık
 
Üst