stok takibi hakkında

Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
arkadaşlar burada 1AL2VER nickli arkadaşımız yapmış olduğu bir brogramdır
fakat bazı formullered hata var bunu düzeltebilirmisiniz ben biraz uğraştım ama yapamadım gerekli açıklamaları ekte yazdım
 
Son düzenleme:

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

1- MALZEME LİSTESİNDE 30 DAN SONRAKİ FORMULLERDE HATA VAR
(Hata Nedir? Ne yapıyor yada yapmıyor ?)
2- ÇIKIŞ YAPILAN MALZEMENİN NERDEN ALINDIĞINI VE FİYATINI OTOMATİK ATABİLİRMİYİZ
(İsmi aynı olan malzeme, birden fazla firmadan alınıyor yada çıkış yapılmak isteniyor ise ? Bu durumda ne yapılacak ? Bence manuel olması normaldir)
 
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
sorun

30 dan sonra listeye herhangibi birsey yazdığımız zaman bütün formuller bozuluyor
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

=EĞER($H16="";"";EĞER($H16="X";DÜŞEYARA($C16;STOK!$C$2:$G$30;5; ))

=EĞER($C17="";"";DÜŞEYARA($C17;Liste!$E$3:$F$32;2; ))

=TOPLA.ÇARPIM((Malz.Girişi!$B$2:$B$100=$C2)*(Malz.Girişi!$D$2:$D$100))


Bu tip formüllerdeki kırmızılı rakamı istediğiniz gibi değiştirin
 
Son düzenleme:
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
?

Merhaba,

=EĞER($H16="";"";EĞER($H16="X";DÜŞEYARA($C16;STOK!$C$2:$G$30;5; ))

=EĞER($C17="";"";DÜŞEYARA($C17;Liste!$E$3:$F$32;2; ))

=TOPLA.ÇARPIM((Malz.Girişi!$B$2:$B$100=$C2)*(Malz.Girişi!$D$2:$D$100))


Bu tip formüllerdeki kırmızılı rakamı istediğiniz gibi değiştirin
bunları tek tek değiştiricez yani ( kısa yoldan komple kopyalama yok mu )
dosya ile ilgili çalışma yapıyormudunuz ?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
bunları tek tek değiştiricez yani ( kısa yoldan komple kopyalama yok mu )
dosya ile ilgili çalışma yapıyormudunuz ?
Merhaba,

=EĞER($H16="";"";EĞER($H16="X";DÜŞEYARA($C16;STOK! $C$2:$G$30;5; ))

=EĞER($C17="";"";DÜŞEYARA($C17;Liste!$E$3:$F$32;2; ))

=TOPLA.ÇARPIM((Malz.Girişi!$B$2:$B$100=$C2)*(Malz.Girişi!$D$2:$D$100))

İlk satırlarda değişiklik yapıp aşağıya doğru kopyalamanız yeterlidir

Örn;"Malz.Girişi" G2 hücresine =EĞER($B2="";"";DÜŞEYARA($B2;STOK!$C$2:$G$500;5; )) yazıp aşağı doğru kopyalayın

5- ARA BUTONU KOYABİLİRMİYİZ
(Hangi sayfada neyi arayacaksınız ?)

Açıklarsanız yardımcı olmaya çalışırım.
 
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
Merhaba,

=EĞER($H16="";"";EĞER($H16="X";DÜŞEYARA($C16;STOK! $C$2:$G$30;5; ))

=EĞER($C17="";"";DÜŞEYARA($C17;Liste!$E$3:$F$32;2; ))

=TOPLA.ÇARPIM((Malz.Girişi!$B$2:$B$100=$C2)*(Malz.Girişi!$D$2:$D$100))

İlk satırlarda değişiklik yapıp aşağıya doğru kopyalamanız yeterlidir

Örn;"Malz.Girişi" G2 hücresine =EĞER($B2="";"";DÜŞEYARA($B2;STOK!$C$2:$G$500;5; )) yazıp aşağı doğru kopyalayın

5- ARA BUTONU KOYABİLİRMİYİZ
(Hangi sayfada neyi arayacaksınız ?)

Açıklarsanız yardımcı olmaya çalışırım.
malzeme çıkış yapacağımız yere ve giriş yapacağımız yere ara butonu koyabilirmiyiz çok gerekli değil aslında

formullerin bozulmayacağı şekilde koruma olursa iyi olur
tedarikçi firma hakkında bilgileri yazmam gerekebilir
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Malz.Çıkışı sayfasının kod bölümüne aşağıdaki kodu yazın, sayfaya bir düğme atayın ve düğmeyi kod ile ilişkilendirin,

Sub MalzÇıkışı ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
For s = 1 To 7000
ActiveCell.Interior.ColorIndex = 6
Next
ActiveCell.Interior.ColorIndex = 0
End Sub

Malz.Girişi sayfasının kod bölümüne aşağıdaki kodu yazın, sayfaya bir düğme atayın ve düğmeyi kod ile ilişkilendirin,

Sub MalzGirişi ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
For s = 1 To 7000
ActiveCell.Interior.ColorIndex = 6
Next
ActiveCell.Interior.ColorIndex = 0
End Sub

çıkan pencereye aranılan kelimeyi yazın, arayıp bulur ve bulunanı kısa bir süre için sarı renge boyar, süre bitince arka plan beyaz olur.

Şayet renk istenmiyor ise kodlardaki ;

Sub ... ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
'For s = 1 To 7000
'ActiveCell.Interior.ColorIndex = 6
'Next
'ActiveCell.Interior.ColorIndex = 0

End Sub

kırmızı renkli yerleri silin yada önlerine tırnak (') işareti koyun.

NOT; şimdiye kadar önerilenler doğrultusunda program doğru çalışıyor ise bilgi verirseniz memnun olurum.
 
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
mrb

Merhaba,

Malz.Çıkışı sayfasının kod bölümüne aşağıdaki kodu yazın, sayfaya bir düğme atayın ve düğmeyi kod ile ilişkilendirin,

Sub MalzÇıkışı ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
For s = 1 To 7000
ActiveCell.Interior.ColorIndex = 6
Next
ActiveCell.Interior.ColorIndex = 0
End Sub

Malz.Girişi sayfasının kod bölümüne aşağıdaki kodu yazın, sayfaya bir düğme atayın ve düğmeyi kod ile ilişkilendirin,

Sub MalzGirişi ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
For s = 1 To 7000
ActiveCell.Interior.ColorIndex = 6
Next
ActiveCell.Interior.ColorIndex = 0
End Sub

çıkan pencereye aranılan kelimeyi yazın, arayıp bulur ve bulunanı kısa bir süre için sarı renge boyar, süre bitince arka plan beyaz olur.

Şayet renk istenmiyor ise kodlardaki ;

Sub ... ()
On Error Resume Next
bul = Application.InputBox("Aranılan Kelimeyi Yazın", Application.UserName)
Cells.Find([bul]).Select
'For s = 1 To 7000
'ActiveCell.Interior.ColorIndex = 6
'Next
'ActiveCell.Interior.ColorIndex = 0

End Sub

kırmızı renkli yerleri silin yada önlerine tırnak (') işareti koyun.

NOT; şimdiye kadar önerilenler doğrultusunda program doğru çalışıyor ise bilgi verirseniz memnun olurum.
ben bu kodları oluşturmayı yada yazmayı bilseydim yazardım zaten :)))
ama bilmiyorum bu konuda biraz cahil kaldık , eğer zamanınız varsa sizden rica ediyorum tabi eğer zamanınız olursa biraz dosya üzerinde çalışırsanız beni çok mutlu edersiniz
 
Son düzenleme:

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
ben bu kodları oluşturmayı yada yazmayı bilseydim yazardım zaten :)))
ama bilmiyorum bu konuda biraz cahil kaldık , eğer zamanınız varsa sizden rica ediyorum
Merhaba, verdiğim kodu kopyala yapıştır yapmanız yeterli idi ama, neyse..

Dosya ek'te, istediklerinizin tümü gerçekleştirilmiştir, önceki mesajlarda belirtildiği gibi verileriniz arttığında ilgili rakamları çoğaltırsınız,

1)Yeni sayfalar dışında sayfalara "FormülKoru" düğmeleri koydum,

2) Hem "Süz" sayfasında hem de "Liste" sayfasında ARAÇ ve FİRMA süzme işlemi yaptım, inceleyin

3) İstediğiniz sayfalarda "Ara" düğmesi var, verileri aratabilirsiniz...

"FormülKoru" tıklandıktan sonra korunan hücrelere işlem yapamazsınız, korumayı kaldırmak için Araçlar--Koruma--Sayfa Korumasını Kaldır'ı tıklayın, çıkan pencereye büyük harfle "A" yazın, tekrar korumak istediğinizde "FormülKoru" düğmesini tıklayın,

Şayet "A" yı değiştirmek isterseniz Sayfa'da iken Alt+F11 tuşlarına birlikte basın, açılan sayfada ;

Sub FormulKoru()
ActiveSheet.Unprotect "A"
Range("A1:N1000").Locked = False
Range("A1:N1000").SpecialCells(xlCellTypeFormulas, 23).Locked = True
Range("A1:N1000").SpecialCells(xlCellTypeFormulas, 23).FormulaHidden = True
ActiveSheet.Protect "A", DrawingObjects:=True, Contents:=True, Scenarios:=True
MsgBox "Sayfalar Korumaya Alındı !"
End Sub

(formül sayfada A1:N1000 aralığındaki formülleri korur)

"A" yazan yerleri değiştirin, her ikisine de örneğin , Ozk11 yazın,

Bu sayfadaki makroya erişilmesin derseniz bu sefer sayfada soldaki pencerede Project-VBA Project yazan yerde VBA Project(Stok Takip (YENİ).xls) yazan yere fare ile sağ tık yapın, açılan pencerede VBA ProjectProperties yazan yere tıklayın, çıkan penceredeki Protection sekmesini tıklayın, lock project for viewing kutucuğunu işaretleyin ve aşağısındaki password ve confirm password kutucuklarına şifre girin ( her iki şifrede aynı olmalı, örneğin 965118 ) daha sonra da "tamam" düğmesine basın,

Bu işlem ile makroya erişilemez, erişilmesi için şifrenin bilinmesi gerekir.

Bu açıklamalardan sonra sanırım sorun çıkmayacaktır.

Kolay gelsin.

NOT; Dosyaya eklenen 2 adet sayfadaki (FirmaBilgileri ve AraçBilgileri) verileri siz düzenlersiniz, ben örnekledim..
 

Ekli dosyalar

Son düzenleme:
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
Merhaba, verdiğim kodu kopyala yapıştır yapmanız yeterli idi ama, neyse..

Dosya ek'te, istediklerinizin tümü gerçekleştirilmiştir, önceki mesajlarda belirtildiği gibi verileriniz arttığında ilgili rakamları çoğaltırsınız,

1)Yeni sayfalar dışında sayfalara "FormülKoru" düğmeleri koydum,

2) Hem "Süz" sayfasında hem de "Liste" sayfasında ARAÇ ve FİRMA süzme işlemi yaptım, inceleyin

3) İstediğiniz sayfalarda "Ara" düğmesi var, verileri aratabilirsiniz...

"FormülKoru" tıklandıktan sonra korunan hücrelere işlem yapamazsınız, korumayı kaldırmak için Araçlar--Koruma--Sayfa Korumasını Kaldır'ı tıklayın, çıkan pencereye büyük harfle "A" yazın, tekrar korumak istediğinizde "FormülKoru" düğmesini tıklayın,

Şayet "A" yı değiştirmek isterseniz Sayfa'da iken Alt+F11 tuşlarına birlikte basın, açılan sayfada ;

Sub FormulKoru()
ActiveSheet.Unprotect "A"
Range("A1:N1000").Locked = False
Range("A1:N1000").SpecialCells(xlCellTypeFormulas, 23).Locked = True
Range("A1:N1000").SpecialCells(xlCellTypeFormulas, 23).FormulaHidden = True
ActiveSheet.Protect "A", DrawingObjects:=True, Contents:=True, Scenarios:=True
MsgBox "Sayfalar Korumaya Alındı !"
End Sub

(formül sayfada A1:N1000 aralığındaki formülleri korur)

"A" yazan yerleri değiştirin, her ikisine de örneğin , Ozk11 yazın,

Bu sayfadaki makroya erişilmesin derseniz bu sefer sayfada soldaki pencerede Project-VBA Project yazan yerde VBA Project(Stok Takip (YENİ).xls) yazan yere fare ile sağ tık yapın, açılan pencerede VBA ProjectProperties yazan yere tıklayın, çıkan penceredeki Protection sekmesini tıklayın, lock project for viewing kutucuğunu işaretleyin ve aşağısındaki password ve confirm password kutucuklarına şifre girin ( her iki şifrede aynı olmalı, örneğin 965118 ) daha sonra da "tamam" düğmesine basın,

Bu işlem ile makroya erişilemez, erişilmesi için şifrenin bilinmesi gerekir.

Bu açıklamalardan sonra sanırım sorun çıkmayacaktır.

Kolay gelsin.

NOT; Dosyaya eklenen 2 adet sayfadaki (FirmaBilgileri ve AraçBilgileri) verileri siz düzenlersiniz, ben örnekledim..
eline koluna sağlık çok güzel olmuş ama stok yazan sayfanın formulleri hala düzen tutmadı zamanınız var ise eğer onu düzeltmenizi isterim sizin yaptığınız daha güzel olur
 
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
=EĞER($C10="";"";DÜŞEYARA($C10;Liste!$E$3:$F$32;2;)) STOKTA $32 YAZAN SAYI DOĞRUMU YOKSA ORADA LİSTEDEKİ SATIR SAYISIMI YAZMALI
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
=EĞER($C10="";"";DÜŞEYARA($C10;Liste!$E$3:$F$32;2;)) STOKTA $32 YAZAN SAYI DOĞRUMU YOKSA ORADA LİSTEDEKİ SATIR SAYISIMI YAZMALI
Merhaba,

Dosyayı yeniledim,

Tüm veri aralıkları 1000 oldu, inceleyiniz,

Siz bu işlemleri gözlemleyerek formüllerdeki aralıkları artırabilirsiniz.

Kolay gelsin,
 
Katılım
23 Haziran 2009
Mesajlar
47
Excel Vers. ve Dili
office2003
Altın Üyelik Bitiş Tarihi
07.05.2019
Eline sağlık çoook teşekkürler süper bir sey oldu bunu forumda yayınlayalım diğer arkadaşlarımızda faydalansınlar ?
 
Üst