• 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 İle Şartlı Hesapla

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.

Hsn55

Yeni Üye
Katılım
14 Nis 2021
Mesajlar
837
Çözümler
2
Aldığı beğeni
125
Excel V
Office 2010 TR
Konu Sahibi
İyi günler;
Ekli dosyada AF1 hücresine Bak oranını yazdığımda
*** P sütununda Ödendi S sütununda Bedelli Y sütununda Aktif yazıyorsa;
1-Q sütununda yazılanın tutarın aynısını Z sütununa yazacak
2-Q sütununda yazılan tutarın AF1 hücresindeki tutarla toplayarak yüzdesini yine Q sütununa yazacak( Örnek Q sütununda 100 Af1 sütununda 10 yazıyorsa formül 100+10%= 110 yazacak)
3-P sütununda Ödendi yazanların tümünü Ödenmedi yapacak.
4-AF1 hücresindeki Bak oranını S sütununda Bedelli Y sütununda Aktif yazıyorsa onların bulunduğu Bak oranını O sütununa yazacak.
Umarım bir çözüm olur. Saygılarımla
 
Bir deneme yaptım.
Kontrol eder misiniz?
Ayrıca hata kontrolü yapma fırsatım olmadı. İstediğiniz dışında bir şeyler olursa üzerinde yine çalışırız.
 
Konu Sahibi
O sütunu dolu ise (Yani bak oranı yazılı ise ) istediğim işlemi yapıyor.
 
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Üstteki sizin isteğiniz ve verilerinize dikkat ederseniz sadece ilk satır koşula uyuyor.
 
O sütunu dolu ise (Yani bak oranı yazılı ise ) istediğim işlemi yapıyor.
Kayıtlarınızın nereye kadar gittiğini tam olarak baz alacağımız sütun hangisi olacak? Çünkü gizlemiş olduğunuz satırlar dahi "SON KAYDINIZIN" hangisi olduğu hakkında bir fikir vermiyor.
 
Konu Sahibi
Hocam P,S,ve Y sütunlaraki şarta göre o satırlarda işlem yapamaz mı;
P(Ödenmedi İse) ,S(Bedelli ise), Y(Aktif ise) bu satırlarda işlem yapamaz mı?
 
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.


Bu şekilde bir şey anladım, anlattığınıza göre
 
Satır 4-13 arasında işlem yapıyor.
Yukarıda arkadaşın dediği gibi şartları siz belirlemişsiniz ve sizin belirlediğiniz şartlara uyan satırlarda değişiklik uyguluyor. Farklı bir şart varsa onu da belirtirseniz bakabilirim.
 
Konu Sahibi
Ekli örnekte şartlar aynı fakat 14. satırdan itibaren işlem yapmıyor
 
Sorun şuradan kaynaklanıyor;
sonsat = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
bu komut sayfanın A sütununda en son dolu satırı buluyor, sizin A sütununda 13. satıra kadar numaralandırma yapılmış, gerisi boş. Haliyle son dolu satır yani 4. satırdan 13. satıra kadar işlem uyguluyor.

Çözüm:
Ya A sütununda olması gereken satıra kadar numaralandırma yapılmalı ya da komutta "A" sütununu belirten yer son satır hesaplamasında kullanılacak sütun adıyla değiştirilmeli; örneğin "P"
onsat = ActiveSheet.Range("P" & Rows.Count).End(xlUp).Row
 
Hsn55 dediğim gibi hangi sütun baz alınacak son satırı belirlemede orası önemli.
arschimet arkadaşımızın #12 numaralı mesajında belirttiği gibi eğer son satır kriterimizi oluşturacak sütun "P" sütunu ise rows count kodunda o şekilde belirlenmeli.
 
Konu Sahibi
Sorun şuradan kaynaklanıyor;
sonsat = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
bu komut sayfanın A sütununda en son dolu satırı buluyor, sizin A sütununda 13. satıra kadar numaralandırma yapılmış, gerisi boş. Haliyle son dolu satır yani 4. satırdan 13. satıra kadar işlem uyguluyor.

Çözüm:
Ya A sütununda olması gereken satıra kadar numaralandırma yapılmalı ya da komutta "A" sütununu belirten yer son satır hesaplamasında kullanılacak sütun adıyla değiştirilmeli; örneğin "P"
onsat = ActiveSheet.Range("P" & Rows.Count).End(xlUp).Row
Sütunu P gösterince istediğimi sağladı. İşlem yapmadan önce " Hesaplama Yapmak İstiyor musunuz? " Evet/Hayır seçeneği olabilir mi?. Evet seçilince Hesaplama yapıldı. Hayır seçilince Hesaplama dan vazgeçildi. Uyarısı verebilir mi?
 
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Konu Sahibi
Hocam , ben butonu başka sayfalardan da çalıştırmak istiyorum. Sayfa tanımlaması yapabilir misiniz. Sayfa adı :Kayıtlar
 
Hocam , ben butonu başka sayfalardan da çalıştırmak istiyorum. Sayfa tanımlaması yapabilir misiniz. Sayfa adı :Kayıtlar
başka sayfaya da buton ekleyip aynı kodu çalıştırmak istiyorsunuz, doğru mu anladım?
Şayet buysa Kayıtlar sayfanıza giderek geliştirici sekmesinden ekle/form denetimleri/ düğme tıklayın , makro ata penceresinden makroyu seçip tamam deyin,tasarım modundan çıktıktan sonra buton eklediğiniz sayfada da aynı makro çalışacaktır.
 
Konu Sahibi
Onu yapıyorum. Demek istediğim. Bu işlemler sadece Kayıtlar sayfasına özgü olacak. Aynı sayfadan tekrar varsa bu hesaplamalar sadece Kayıtlar sayfasında olacak
 
Tamamdır, kodlardaki
Activesheet
kısımlarını
Worksheets("Kayıtlar")
olarak değiştirin.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst