• DİKKAT

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

makroda formülleri makro ile yazmak istiyorum

emrebengul

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
304
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2019 TR 32 Bit
Merhaba Arkadaşlar
Excel dosyasında yaptığım hesaplamaları makro ile yapmak istiyorum ama bir türlü yapamadım. Excel dosyasında C, D, E, F, ve G sütunlarında formüllerle yaptığım hesaplamaları makro ile nasıl yapabilirim yardımcı olur musunuz?
Ekli dosyayı görüntüle Kitap1.xlsx
 
Son düzenleme:
Konu başlığını, isteğinizi özetleyecek şekilde yeniden düzenleyiniz.
 
Düzenledim Ömer Bey buyrun
 
Tekrar merhaba.

► Konu başlığı değişikliğini;
-- konu açılış mesajının sağ altındaki kısımdan DÜZELT düğmesine tıklayıp,
-- ardından aynı kısımda karşınıza gelecek GELİŞMİŞ seçeneğini kullanarak
yapabilirsiniz.

► Aşağıda kod cevabını yine de veriyorum ancak, konu başlığı değişikliğini,
yapılan hesaplamanın içeriği neyse ona göre mutlaka yapınız.
.
Kod:
[B][COLOR="blue"]Sub HESAPLA()[/COLOR][/B]
sonsat = Cells(Rows.Count, [B][COLOR="red"]25[/COLOR][/B]).End(3).Row
If Cells(Rows.Count, [B][COLOR="red"]27[/COLOR][/B]).End(3).Row > [B][COLOR="red"]7[/COLOR][/B] Then Range("[B][COLOR="red"]AA2:AE[/COLOR][/B]" & Rows.Count).ClearContents
For sat = [B][COLOR="red"]8[/COLOR][/B] To sonsat
    Cells(sat, [B][COLOR="red"]27[/COLOR][/B]) = 1 / Cells(sat, [B][COLOR="red"]26[/COLOR][/B])
    Btop = Btop + Cells(sat, [B][COLOR="red"]26[/COLOR][/B]): Ctop = Ctop + Cells(sat, [B][COLOR="red"]27[/COLOR][/B]): Next
For satt = [B][COLOR="red"]8[/COLOR][/B] To sonsat
    Cells(satt, [B][COLOR="red"]28[/COLOR][/B]) = Cells(satt, [B][COLOR="red"]26[/COLOR][/B]) * Ctop: Cells(satt, [B][COLOR="red"]29[/COLOR][/B]) = Btop / Cells(satt, [B][COLOR="red"]28[/COLOR][/B])
    Cells(satt, [B][COLOR="red"]30[/COLOR][/B]) = Cells(satt, [B][COLOR="red"]25[/COLOR][/B]) + Cells(satt, [B][COLOR="red"]26[/COLOR][/B])
If Qmak < Cells(satt, [B][COLOR="red"]25[/COLOR][/B]) + Cells(satt, [B][COLOR="red"]26[/COLOR][/B]) Then Qmak = Cells(satt, [B][COLOR="red"]25[/COLOR][/B]) + Cells(satt, [B][COLOR="red"]26[/COLOR][/B])
Next
For sattt = [B][COLOR="red"]8[/COLOR][/B] To sonsat
    Cells(sattt, [B][COLOR="Red"]31[/COLOR][/B]) = Cells(sattt, [B][COLOR="red"]30[/COLOR][/B]) / Qmak * 100: Next
[B][COLOR="Blue"]End Sub[/COLOR][/B]
 
Son sorum olacak çünkü bazı yerlerde bana çok zorluk çıkartıyor. Bu yazdığımız makroyu diyelim ki A sütunundan değilde Y8 sütunundan başlattık o zaman nasıl oluyor.
 
Soruların, gerçek belgeyle aynı yapıda örnek belge üzerinden sorulmasını, işte tam da bu nedenle ısrarla belirtiyoruz.

Yeni belgeye göre kod'u güncellemek yerine, kod ile ilgili bilgiler vereyim.
Vereceğim bilgiler kod'u yeni belgeye göre düzenlemeniz için yeterli olacaktır.

Verdiğim kod'da;
-- Cells(.....) şeklindeki bölümlerde, parantez içinde virgülden önceki ilk kısım satır numarası, virgülden sonraki sayı sütun numarasıdır
...Cells(Rows.Count, 1) => Cells(en son satır, A sütunu) => A1048576 hücresi gibi,
...Cells(satt, 5) => satt ismi verilen satırda 5'inci sütun yani E sütunu gibi.
-- Kod'daki For ...=2 To sonsat satırlarında 2 ilk veri satırı,
sonsat ise A1048576 hücresinden yukarı doğru ilk dolu hücrenin, yani A82 hücresinin satır numarası olan 82.

Bence bu bilgilere göre kod'u kendiniz düzenleyebilirsiniz.
.
 
çok teşekkür ederim sağ olun. İnşallah yapabilirim.
 
Kendinizin halletmesi daha faydalı olur diye düşündüm.
Halledemezseniz bakarım elbette.
.
 
Ömer Bey kusura bakmayın ama yapamadım gerçekten hata veriyor anlamadım niye?
 
Önceki cevabımı, yapılan değişiklikleri kırmızı renklendirerek güncelledim.
Sayfayı yenileyerek önceki kod cevabıma bakınız.

Btop, Ctop ve Qmak değişkenlerinin adlarını değiştirmedim, kod'un çalışmasına engel değil ama
bu değişkenlerdeki ilk harfleri ilgili sütun harfleriyle değiştirmek (Ztop, AAtop, ADmak) daha anlamlı olur tabii ki.
.
 
çok teşekkür ederim sağ olun Allah razı olsun
 
Eyvallah, cümlemizden.
.
 
Geri
Üst