• DİKKAT

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

Stok farkı bulma

Katılım
20 Temmuz 2007
Mesajlar
33
Excel Vers. ve Dili
microsoft office 2007
Merhabalar,

Benim yapmak istediğim geçen haftaki stok miktarı ile bu haftaki stok miktarı farkını bulmak. Aslında basit ama ben bu stik bilgilerini programdan excele indiriyorum ve yeni bir ürün girince sıralama değişiyor.A sütununda ürün kodu B sütununda ürün adeti var.Diğer hafta programdan export ettiğimde yeni bir excel sayfası oluyor ve ordan ürün kodu ile ürün adedini kopyalayıp diğer sayfadaki C ve D sütununa attığımda ürün koduna göre stok farkını bulup E ve F sütununa yazsın istiyorum.
Yardımlarınız için teçekkürler şimdiden.


http://s2.dosya.tc/server2/uauhk0/ornek.xlsx.html
 
Son düzenleme:
Örnek bir dosya eklerseniz iyi olur.
 
örneği incelerseniz yandaki stündan referans alıyor yani stuna verileri kopyalayıp formülü aşağı çekin yeterli olacaktır
 
Alternatif olarak aşağıdaki kodları bir modüle kopyalayıp deneyiniz. Kodlar öncelikle tüm stok kodlarını benzersiz olarak E sütununa yazar. Daha sonra her stok kodu için B sütunundaki değerlerin toplamından D sütunundaki değerlerin toplamını çıkarır ve bunu formül olarak F sütununa yazar. Örneğin F2'de =250-125 yazar ve sonucu 125 görünür:

Kod:
Sub stok()
sonA = WorksheetFunction.Max(2, Cells(Rows.Count, "A").End(3).Row)
sonC = WorksheetFunction.Max(2, Cells(Rows.Count, "C").End(3).Row)

yeniE1 = Cells(Rows.Count, "E").End(3).Row + 1
Range("A2:A" & sonA).Copy: Cells(yeniE1, "E").PasteSpecial Paste:=xlPasteValues

yeniE2 = Cells(Rows.Count, "E").End(3).Row + 1
Range("C2:C" & sonC).Copy: Cells(yeniE2, "E").PasteSpecial Paste:=xlPasteValues

ilkE = WorksheetFunction.Max(2, Cells(Rows.Count, "E").End(3).Row)
ActiveSheet.Range("$E$1:$E$" & ilkE).RemoveDuplicates Columns:=1, Header:=xlYes

sonE = WorksheetFunction.Max(2, Cells(Rows.Count, "E").End(3).Row)
For i = 2 To sonE
    Cells(i, "F").Formula = "=" & WorksheetFunction.SumIf(Range("A2:A" & sonA), Cells(i, "E"), Range("B2:B" & sonA)) & "-" & _
                   WorksheetFunction.SumIf(Range("C2:C" & sonC), Cells(i, "E"), Range("D2:D" & sonC))
Next

End Sub
 
Geri
Üst