• DİKKAT

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

HAMMADDE TAKİP

Katılım
2 Mart 2005
Mesajlar
79
HAMMADDE TAKÝP

Selam Arkadaşlar

Þirkette kullandığım bir çalışma var. Bu çalışmayı kullanışlı hale getirmek istiyorum. iki ayrı yerde hammadde stoğum var. KEND yapılan çıkış ZUNA ya giriş olmasını istiyorum. Ã?rnek bir userform yaptım fakat atamalarını daha yapmadım. iki önemli husus daha biri KEND de fire düşülüyor. %12 oarnında, ikincisi formdan yaptığım giriş ve çıkışların tarih sırasına göre dizilmesini istiyorum. Ayrıca form üzerinde bulunan Kalan textbox'ında son durumu gösterecek. ZUNA sayfasında da başka bir usurform kullanılacak. Buradan da giriş ve çıkış yapılabilsin diye.

Yardım ve önerileriniz için şimdiden teşekkür ederim.
 
Yol göstermesi için birşeyler yaptım. Bir inceleyin.
 
Teşekkür ederim.

Tarih sıralama istediğim gibi olmuş. Yalnız bir iki küçük detay daha var bu konuda nasıl bir işlem yapa biliriz.

1) Giriş ve çıkışları farklı zamanlarda yapıyorum. Hazırladığınız programda sadece çıkış yaptığımda hata veriyor.

2) KEND sayfasında çıkışların ZUNA sayfasına tarih sıralı olarak giriş nasıl atayabilirim.

:dua:
 
Boş textboxların hata yaratmaması için kontrol yerine default olarak 0 koydum. 2. sayfayada çıkışlar giriş olarak yazılıp sıralıyor. Bu dosya üstünde biraz çalışırsanız istediğiniz hale gelir.
 
Programa kayıt işleminden sonra TextBox ları sıfırla ve Textbox1 geri dön kodlarını ekledim.

Þimdi tek bir sorun kaldı. KEND çıkışı ZUNA girişi olarak işlem yapıyor. Ama KEND girişleri içinde ZUNA da tarih çıkıyor ve o satır ZUNA da boş kalıyor. Bunu nasıl önleye bilirim. Dosya ekte enson örnekleri kontrol edermisiniz.


İlginize çok teşekkür ederim.
 
Commandbutton kodunda zuna sayfasına yazan bloğu bir if içine alırsak işnizi görür sanırım. textbox3 0 dan büyük olduğu zaman zunaya yazıyor.

[vb:1:7e1f02da6f]If TextBox3.Value > 0 Then
sonsat2 = Sheets("ZUNA").Cells(65536, 1).End(xlUp).Row + 1
Sheets("ZUNA").Cells(sonsat2, 1) = CDate(tarih)
Sheets("ZUNA").Cells(sonsat2, 3) = TextBox3.Value
Sheets("ZUNA").Range("A5:e2000").Sort Key1:=Sheets("ZUNA").Range("A5"), Order1:=xlAscending 'sıralama
End If[/vb:1:7e1f02da6f]
 
Çıkışları çalıma sayfasına yazarken metin gibi algılıyor. Bunların sayı oluduğunu nasıl tanımlıyorduk.
 
Kasdettiğiniz sayı ise

Sheets("ZUNA").Cells(sonsat2, 3) = TextBox3.Value

yerine

Sheets("ZUNA").Cells(sonsat2, 3) = TextBox3.Value*1 yazın.
 
Biliyorum sende çok oldun artık diyeceksiniz ama...

Programa eklentiler yaptım.

If TextBox3.Value > 0 Then
sonsat2 = Sheets("ZUNA").Cells(65536, 1).End(xlUp).Row + 1
Sheets("ZUNA").Cells(sonsat2, 1) = CDate(tarih)
Sheets("ZUNA").Cells(sonsat2, 2) = "KEND ALM. SEVK"
Sheets("ZUNA").Cells(sonsat2, 3) = TextBox3.Value * 1
Sheets("ZUNA").Range("A5:e2000").Sort Key1:=Sheets("ZUNA").Range("A5"), Order1:=xlAscending 'sıralama
End If

If TextBox2.Value > 0 Then
sonsat3 = Cells(65536, 1).End(xlUp).Row + 1
Sheets("KEND").Cells(sonsat3, 2) = "KEND ALM. GİRİÞ"
Else
Sheets("KEND").Cells(sonsat3, 2) = "KEND ALM. ÇIKIÞ"
End If


Fakat bu seferde arada bir Tarih Kayıt İşlemi yaptığımda tarihi araya atıyor ama "KEND ALM GİRİÞ" değerleri en alt satıra atıyor. Hatanın nedenini biliyorum fakat nasıl düzelteceğimi bulamadım.
Hata sonsat ile başlayan satırlardan kaynaklanıyor. ekte dosyayı gönderiyorum.
 
Prosedürün ilk satırında Kend sayfası için son satırı zaten belirlemiştik.
Yeniden belirleme yaparsanız bir alt satıra yazar ve tarih sıralamasına tabi olmaz. Böyle bir deneyin.

[vb:1:e4cc0a99ca]
Private Sub CommandButton1_Click()
sonsat = Cells(65536, 1).End(xlUp).Row + 1
tarih = TextBox1.Value
tarih = Format(tarih, "dd/mm/yyyy")
Sheets("KEND").Cells(sonsat, 1) = CDate(tarih)
Sheets("KEND").Cells(sonsat, 3) = TextBox2.Value * 1
Sheets("KEND").Cells(sonsat, 4) = TextBox5.Value * 1
Sheets("KEND").Cells(sonsat, 5) = TextBox3.Value * 1
Sheets("KEND").Cells(sonsat, 6) = "=F" & sonsat - 1 & "+D" & sonsat & "-E" & sonsat
If TextBox2.Value > 0 Then
Sheets("KEND").Cells(sonsat, 2) = "KEND ALM. GİRİÞ"
Else
Sheets("KEND").Cells(sonsat, 2) = "KEND ALM. ÇIKIÞ"
End If
Range("A5:F2000").Sort Key1:=Range("A5"), Order1:=xlAscending 'sıralama
...................
[/vb:1:e4cc0a99ca]
 
Yardımlarınız için size minnettarım.

Bu gün çok şey öğrendim. Sanırım formu takip eden arkadaşlarda bu çalımadan faydalandılar. İnşaallah birgün bende diğer arkadaşların sorularını cevaplayacak bilgiye sahip olurum.

Ã?ğrenmeye DEVAM
 
EMRE ÞAHAN,
Biliyorum sende çok oldun artık diyeceksiniz ama...

Hiç böyle birşeyin dendiğini gördünüzmü bu forumda? :) . Sorununuz halloldu ise ne mutlu bize. Temennilerinize katılıyorum ve her zaman bilgisayar öğrenme konusunda sizden daha yeni olan arkadaşların olduğunu unutmayın forumda. Onlara yardım etmeye çalıştıkca kendi öğrenme sürecinizede faydasını kısa sürede görürsünüz.
Birde imzanıza excel versiyon ve dilinizi eklemenizi rica ediyorum.(Profil sayfanıza gidip İmza bölümüne)
 
Üstadım bir şeyi sonradan fark ettim. KEND in çıkışlarını ZUNA nın giriş sutununa ekletiyorduk ya, ve KEND ALM SEVK yazdırıyorduk. Birde ZUNA nın KEND çıkışı ile ZUNA nın son miktarını toplatmam gerekiyor. Aksi halde ZUNA ya hazırladığım userform2 görevini yapamıyor.
:kafa:
 
Kastettiğiniz ZUNA sayfasında Esütunundaki formüllerin devam etmesi sanırım. eğer doğru anladı isem kodda ZUNA sayfası ile ilgili blokta sıralama yapan satırdan hemen önce bu satırı ilave edin.

[vb:1:30ed875aac]Sheets("ZUNA").Cells(sonsat2, 5) = "=E" & sonsat2 - 1 & "+C" & sonsat2 & "-D" & sonsat2[/vb:1:30ed875aac]
 
üstad yardımların için çok teşekkürler program tam istediğim gibi oldu.

:D
 
Geri
Üst