Soru sayfadaki formülleri makro ile gerçekleştirme

Katılım
24 Haziran 2017
Mesajlar
749
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
13-01-2024
sekme içerisinde;
b sütununda fiyatlar,
c,d,e sütununda adetler
g sütununda toplam adetler

tablo altında ise toplam fiyatlar mevcut

soru 1) b sütunundaki fiyatlar sabit ancak c,d,e sütunundaki adetler değişken. c sütunundaki adetleri 1000 ile çarpacak, d sütunundaki adetleri 100 ile, e sütunundakileri olduğu gibi kabul edip sağ taraftaki g sütununa toplam adeti yazacak.

soru 2) toplam adetlere karşılık fiyatları çarparak alttaki genel toplam kısmına yazacak.

formülleri ekte hücre içerisinde yaptım ancak bunlar exceli çok fazla kasıyor ve bunu makro ile yapabilirmiyim. buton felan olmamalı .yani ben adetlerde oynama yaptıkça kendisi otomotik olarak genel değerleri değişebilmeli.

yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Örnek dosyanızı göremedim ama aşağıdaki kodlar işinizi görecektir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim top_adet, top_fiyat As Double
    Dim satir As Long

    If Not Intersect(Target, Range("C:E")) Is Nothing Then
        Application.EnableEvents = False

        satir = Target.Row
        
        Dim qtyC As Double: qtyC = Cells(satir, 3).Value
        Dim qtyD As Double: qtyD = Cells(satir, 4).Value
        Dim qtyE As Double: qtyE = Cells(satir, 5).Value

      
        top_adet = qtyC * 1000 + qtyD * 100 + qtyE
        Cells(satir, 7).Value = top_adet ' G sütununa yaz

        ' Toplam fiyat hesapla
        top_fiyat = top_adet * Cells(satir, 2).Value
        Cells(satir, 8).Value = top_fiyat ' H sütununa yaz

        ' Genel toplamı bir alt satıra yaz
        Dim lastRow As Long
        lastRow = Cells(Rows.Count, 7).End(xlUp).Row
        top_fiyat = Application.WorksheetFunction.Sum(Range("H2:H" & lastRow))
        Cells(lastRow + 1, 8).Value = top_fiyat ' Genel toplamı yaz

        Application.EnableEvents = True
    End If
End Sub
 
Katılım
24 Haziran 2017
Mesajlar
749
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
13-01-2024
Mesut hocam çok çok teşekkür ederim ellerinize sağlık. kodlama harika olmuş. İstediğim kodlamadan daha fazlası olmuş hatta. düşünemediğim toplam fiyatlamayıda eklemişsiniz. ellerinize sağlık. Ancak bir ricam daha olucak. Toplam fiyat hesaplama sütununu devre dışı bırakma yolumuz var mı. h sütununu herhangi bir işlem yapmasa?

' Toplam fiyat hesapla
top_fiyat = top_adet * Cells(satir, 2).Value
Cells(satir, 8).Value = top_fiyat ' H sütununa yaz


yani sadece genel fiyat toplamı ve adet toplamını yapması mümkünmü
 
Katılım
24 Haziran 2017
Mesajlar
749
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
13-01-2024
birde satır sayısını sınırlandırmamı münkünmü. c17:c34 arasındai satırda sadece kodlama gerçekleşsin gibi
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
B sütunundaki fiyatların ve H sütunundaki adetlerin (1000, 100 ve 1 ile çarpılmış olarak hesaplanmış olan) toplamını mı yazdırmak istiyorsunuz?
 
Katılım
21 Ağustos 2005
Mesajlar
625
Excel Vers. ve Dili
Office 365 - İngilizce
Kodun sadece C17:C37 arasında çalışması için ilk gönderdiğim koddaki ;
Kod:
 If Not Intersect(Target, Range("C:E")) Is Nothing Then
satırı aşağıdaki gibi değiştirin.
Kod:
If Not Intersect(Target, Range("C17:C34")) Is Nothing Then
 
Üst