• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü makro ile Formül düzenleme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Miraga

Destek Ekibi
Katılım
11 May 2022
Mesajlar
1,246
Çözümler
274
Aldığı beğeni
931
Excel V
Office 2016 TR
Konu Sahibi
Merhabalar
forumdaki hocalarımız sayesinde tamamlamaya çalıştığım tablo ektedir
tabloda 11. satırda başlıklar bulunmakta 12. satırda ise önceki aydan devir eden tutarları yazıyor
*Sayfa1 de sırala butonuna basılınca A sütunundaki tarihe göre sıralama yapıyor ve gruplara ayırıyor (bunda sıkıntı yok)

yapmak istediğim
* K-L-M sütunlarındaki (Gelir bölümü) örneğin K12 hücresindeki formül =K5 şeklinde yazıyor buradaki formülü
=K5+ÇOKETOPLA(K13:K14;J13:J14;"ÖDENdİ")-ÇOKETOPLA(O13:O14;J13:J14;"ÖDENDİ") olarak değiştirmek istiyorum
not: örneklemede veriler 13 ve 14 satırları arasında gözüküyor bu şekilde düzenlendi
 
Konu Sahibi
Şu şekilde dener misiniz.

K5+ETOPLA(J13:J14;"ÖDENDİ";K13:K14)-ETOPLA(J13:J14;"ÖDENDİ";O13:O14)
Demirbey merhaba
ilginiz için teşekkür ederim
formül oluşturmada sıkıntı yok yeni veri girişi yapıp sıralam yaptığımda hücre aralığı değiştiğinden formülü makro ile yapmak istiyorum
 
Konu Sahibi
Son satır numarası değişken bunun gibi bir makro düşünülebilir.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
ilginiz için çok teşekkür ederim
makro bilgim pek yok bilmediğimden soruyorum aşağıdaki kısım sadece k12 ye uyguluyor sanırım formülü (örnekleme olması için yazmıştım) başlıkların altındaki tüm satırlarda uygulanacak k12-k22-k36-k359 vs. (bu rakamları örnekte olduğu için yazdım veri girdikce değişkenlik gösterecektir)(aynı zamanda K-L-M sütunlarına uygulanacak)
Range("K12").Formula
o yüzden net adresden ziyade satır başı ve satır sonlarını tespit ederek devam etmek gerekli diye tahmin ediyorum
 
Sayfanızdaki değişken çok fazla. Mesela siz satır eklemeye satır 15 ten başlayabileceğiniz gibi satır 30 dan da başlayabilirsiniz.Yahut bir satır eklebileceğiniz gibi 3 satır birden ekleyebilirsiniz. Sonuçta hücrelerin referans numaraları sürekli değişecektir. Sayfa yapısı itibariyle sonsatırı her değişkende ayrı ayrı hesaplamalısınız.
Yapılamaz değil ancak makroya gerektiğinde müdahale edecek kadar fikir sahibi olmanız gerekiyor.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.


Mesela bu makro satır 30 dan itibaren ekleme yaparsanız hata verecektir.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Burada alternatif olarak şöyle bir yapıda kullanılabilir.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Tüm bunları göz önünde bulundursanız, orta halli bir makro bilgisi gerekir diye düşünüyorum(bilgim dahilinde).
 
Konu Sahibi
Merhabalar
Mevcut sistem şu şekilde çalışıyor
* 11 ve 12 satır ilk başlık kısmı oluyor
*13 satırdan itibaren veri girişi yapıyorum
  • sırala butonuna basınca tarih sırasına göre sıralama yapıyor
  • aylara göre gruplara ayırıyor ( gruplar arasına 8 satır boşluk bırakıyor
*ayrılan grupların ların başlık kısmına 11 ve 12 satırdaki başlıkları yapıştırıyor
*grup'un sonuna ise k:s sütunlarında sarı renk ile gözüken alt toplam işlemini yapıyor
----
benim yapmak istediğim
*grup'un sonunda alt toplam aldığı işlem mantığını üst tarafada taşımak istiyorum (gri renk ilebelirtilen yer)
=K5+ÇOKETOPLA(K13:K14;J13:J14;"ÖDENdİ")-ÇOKETOPLA(O13:O14;J13:J14;"ÖDENDİ")
uyarlamak istediğim formül yukarıda belirtiğim mantık olması gerek (satır aralıkları örnekleme için yazıldı)
 
Konu Sahibi
Sub Makroileformul1() Dim Sat, Sonsat As Integer Tumsatsay = Range("A" & Rows.Count).End(xlUp).Row Bulunan = 931 'Şuan A sütununda bulunan dolu hücre adedi Eklenensatadet = Tumsatsay - Bulunan MsgBox Eklenensatadet Sat = 13 + Eklenensatadet ' Başlangıç satır no Do Until Range("A" & Sat).Value = "" Sat = Sat + 1 Loop Sonsat = Sat - 1 ' Boş olmayan son satır no Range("K12").Formula = "=$K$5+SUMIF($J$13:$J" & Sonsat & ",""ÖDENDİ"",$K$13:$K" & Sonsat & ")-SUMIF($J$13:$J" & Sonsat & ",""ÖDENDİ"",$O$13:$O" & Sonsat & ")" End Sub
bu kısmen çalışıyor
formüller olması gereken yere geliyor ancak toplam aralığını yanlış yerden alıyor (aşağıda işaretlemeye çalıştım)
1687337521275.png
 
Konu Sahibi
Hocam birde formül1 olan makroyu çalıştırınca sadece tek satıra işlem yapıyor sırala butonuna basınca diğer ilgili yerlere formül atıyor (tabi önceki mesaj belirttiğim hatalı hali ile )
 
Sırala butonuna basınız.
 
Çözüm
Konu Sahibi
hocam merhabalar ellerinize sağlık
formül mantığı doğru çalışıyor ancak formül K-L-M Sütunlarına hep aynı formülü atamış
kendi sutununda olan derlere işlem yapmalı
örneğin
K sütünü için =K5+ÇOKETOPLA(K13:K14;$J$13:$J$14;"ÖDENDİ")-ÇOKETOPLA(O13:O14;$J$13:$J$14;"ÖDENDİ")
L sütünü için =L5+ÇOKETOPLA(L13:L14;J13:J14;"ÖDENDİ")-ÇOKETOPLA(P13:p14;J13:J14;"ÖDENDİ")
M sütünü için =M5+ÇOKETOPLA(M13:M14;J13:J14;"ÖDENDİ")-ÇOKETOPLA(Q13:Q14;J13:J14;"ÖDENDİ")
 
Dediğiniz düzeltmeyi yapmadan önce sorayım.
12. Satır için formüldeki K5,L5,M5 kısımları olmalı mı?
 
Konu Sahibi
örneğin 22nci satırdaki formülde 7 satır gerisi ( 22-7 =15) =$K$15+.... olacak
 
Diğer satırlar için demiyorum zaten. 5. Satirda veri olmayacaksa ilk satira (12. Satira) bunları eklemeyelim.
 
Konu Sahibi
hocam
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
ile birşeyler yapmaya çalıştım arda işlem sonunda doğru çalıştı
ancak orada başka buton ile yapmak durumunda kaldı (mavi buton)
onu sırala butonundaki kod ile birleştirmeye çalışacam (sizlerde yardımcı olabilirseniz sevinirim )
 
#10 nolu mesajdaki dosyayı güncelledim.
Tekrar indiriniz.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst