• DİKKAT

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

fiyat hesaplama

Katılım
15 Temmuz 2012
Mesajlar
7
Excel Vers. ve Dili
2007 ve 2010, ingilizce
Merhaba,

elimde asagidaki ornekte basitlestirilmis haliyle bulunan bir hesaplama tablosu var.

http://img694.imageshack.us/img694/7387/hesaptablolari.jpg

Asagidaki kurallari iceren kücük bir makro yazmak istiyorum:


1. kac adet urun oldugu bulunacak ve bir for dongusu ile urun sayisi ne kadar ise o kadar satir taramasi yapilacak.

2. Tarama esnasinda ornegin a urunu icin tablo 1. deki gun sayisi 15 ise, (7+7+1) seklinde bir hesaplama ile bu gun sayisinin 2 tam haftadan ve 3. haftanin 1/7 sinden olustugu hesaplanacak.

3. Tablo 2 de a urununun olup olmadigi arastirilacak. Varsa 1 den 2 ye kadar gene bir for dongusu icinde daha onceki hesabimiza gore 2 tam hafta ve ilaveten 3. haftanin yedide birinin degerleri toplanacak (bkz. tablo 4: sonucu hesaplanan haftanin tablo 2 de 1 hafta sonrasina denk gelen degerden baslayarak (7+7+1) e gore haftalik fiyatlarin toplanmasi) ve fiyat sonucu tablo 3 e yazdirilacak. Yoksa sonuc 0 olarak hesaplanacak ve gene tablo 3 e yazdirilacak.

Boyle bir makro icin yardiminiz olursa cok sevinirim. Yanitlariniza simdiden tesekkurler.
 

Ekli dosyalar

Son düzenleme:
merhaba, tesekkurler uyari icin ekledim dosyayi.
 
Merhaba
İnceleyin.
Kod:
Private Sub CommandButton1_Click()
For usatırı = 20 To 25
urun = Cells(usatırı, 1).Value
    
       gss = Sheets("sheet1").[a3:a8].Find(urun).Row 'gunsayısısatırı
       gs = Cells(gss, "b") 'gün sayısı
       hs = Int(gs / 7) 'haftasayısı
       ks = gs Mod 7 'kalangunsayısı
       If WorksheetFunction.CountIf(Range("e3:e6"), urun) = 0 Then GoTo git:
       t2s = Sheets("sheet1").[e3:e8].Find(urun).Row 'tablo2urunsatırı
           sonuç = 0
           For x = 1 To hs
           sonuç = sonuç + Cells(t2s, x + 5)
           Next x
           sonuç = sonuç + Cells(t2s, x + 5) * (ks / 7)
           
       Cells(usatırı, 2) = sonuç
   
git:
Next usatırı
End Sub


sizde "a" ürünü için
1.hafta 20
2. hafta 15
3.hafta 33
15 gün süre olduğundan


a ürünü toplamı=20+15+33*1/7=39...
 

Ekli dosyalar

Hocam ellerine saglik. Makroyu adim adim inceledim. Hersey yolunda gorunuyor. Sadece ornegi basitlestirdigimden olsa gerek bir noktayi eksik birakmisim. a urunune yonelik arama yaparsam eksik olacak cunku bir satiri essiz kilan sadece urunun adi degil ayni zamanda bu urunun bulundugu yer de (ornegimde yer vermemistim). Misal:

a ürünü hem x lokasyonunda her hafta ayri fiyatlara sahip hem de y, z, c lokasyonlarinda diyelim. Sorum su kullandigin find fonksiyonunu coklu aramalar icin de kullanabilir miyim? Mesela a urununun x lokasyonundaki fiyatlari ile hesaplamayi yapabilir miyim?

Bir de ufak bir not: toplama islemine hep bir sonraki haftadan baslamak gerekiyor icinde bulunulan haftadan degil. O yuzden makroyu x+5 satirindan degil x+6 dan baslatacagim.

Tekrar tesekkur ederim. Emegine saglik!
 
Son düzenleme:
Geri
Üst