• DİKKAT

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

Sürekli Yatırım Hesabı

  • Konbuyu başlatan Konbuyu başlatan ervenko
  • Başlangıç tarihi Başlangıç tarihi
Katılım
18 Ocak 2012
Mesajlar
5
Excel Vers. ve Dili
2013 Türkçe
Örnek dosyayı aşağıya ekledim, yapmak istediğim kasa 10 tl üzeri olduğunda kasadan 10 tl ve katlarını çekip ürüne eklemesi ve çıkardığı ürün fiyatını kasadan çıkarması

bunu 365 gün için hesaplamaya çalışıyorum ama maalesef başaramadım, yardımlarınızı bekliyorum

http://s6.dosya.tc/server11/yfitp7/ornek_dosya.xlsx.html
 
işinize yarar mı bilmem ama ben şu şekilde yapardım.

Varsayım:
10 üzeri ifadesini 10 ve üzeri olarak anlıyorum.

Kod:
Sayfa adının (örnekte Sayfa1) üzerinde sağ tıklayıp Kodu Görüntüle seçeneği ile VBE pencesini açarak aşağıdaki kodu kopyalıyorsunuz.
Kod bir eylem üzerine tetiklenen olay kodudur (event code). Dolayısıyla çalışacağı Sayfanın kod modülüne kopyalanmalıdır.) Buradaki eylem ise C sütununa manuel olarak getiri rakamının girilmesidir.

Hazırlık:
(Dosyada mevcut girilmiş rakamlardan hareket ile...)
B, C, D sütunlarında başlık hariç eski rakamları siliyorsunuz.
B2, C2, D2 hücrelerine ilk gün değerlerini (100, 9, 9) el ile giriyorsunuz.
B3 hücresine ikinci gün değerini (100) el ile giriyorsunuz. (9 10'dan küçük olduğundan kasada kalacak, ikinci gün ürün rakamı da 100 olacak.)

Kodun Devreye Girmesi:
2inci günün (ve ilerleyen günlerde o günün) getirisini bir yerde manuel veya formül ile hesaplayıp C3 hücresine yazıyorsunuz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 3 Then Exit Sub
    If Target.Row < 3 Then Exit Sub
    
    Dim katsay As Double
    
    Range("D" & Target.Row) = Range("D" & Target.Row - 1) + Range("C" & Target.Row)
    
    If Range("D" & Target.Row) >= 10 Then
        katsay = Range("D" & Target.Row) \ 10
        Range("B" & Target.Row + 1) = Range("B" & Target.Row) + (katsay * 10)
        Range("D" & Target.Row) = Range("D" & Target.Row) - (katsay * 10)
    Else
        Range("B" & Target.Row + 1) = Range("B" & Target.Row)
    End If

End Sub
 
Geri
Üst