AMBAR PROGRAMI-Birlikte Tamamlayalım

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Merhaba,

Dosyanızda gerekli düzeltmeyi yaptım. İncelermisiniz.
Tam istediğim gibi. Düşündüklerimin hepsine olumlu cevap alıp, gerçekleştiğini görünce aklıma farklı şeyler geliyor. Umarım arsızlaşmıyor, sizleri bıktırmıyorumdur.

Programın daha işler hale gelmesi içi son olarak düşündüğüm bir şey daha var. Malzeme Say düğmesi ile ekrana gelen Ambar Durumu formunda malzemelerin aylara göre tüketim tutarını gösteren textboxlar verileri FH, FI, FJ, FK, FL sütünlarında her hücreye girilmiş formüllerden alıyor. Dönem değiştir dediğimizde Eylül ayı yerine gelecek olan ay Şubat olacak. O zaman da liste sayfasını açıp hücrelerdeki formülleri yenilemek gerekecek. Textboxlar verileri belirtilen sütunlardaki formül girilmiş hücrelerden alması yerine 1 satırda girilen tarihleri göz önüne alarak ay içindeki tüketim toplamlarını alabilir mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Tabiki olabilir. Fakat şöyle bir durum var. Siz form üzerinde "Eylül-Ekim ..." diye etiketlere isim vermişsiniz. Dönem değiştir dediğimizde bunlar değişiyor mu?

Birde neden form üzerinde 5 ayın ismi var? Neden 12 ay yok?
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Aslında bu durum programı tasarlarken yaşadığım sıkıntıyla alakalı. Bildiğiniz gibi 1. satır tarih satırı. Bana programda tarih yazabileceğim en az 300 hücre gerekli. Excelde 256 satır olması buna izin vermedi. Tarihleri 1. satıra değil de 1 sütuna yazmayı düşündüm ama forumdan cevap gelmeyince vazgeçtim ve programı sadece 1 dönemlik hazırlamaya karar verdim.
sizin yukarıdaki uyarınızı dikkate alarak Ambar Durum formundaki textboxları 10'a çıkarsak (döneme göre bazı aylarda sonuç 0 görünecek tabii) sanırım çözüm bulmuş oluruz. Programı formda düzenleme yaparak tekrar ekliyorum.
Bir de Tabela Giriş formundaki malzeme adının seçildiği comboboxlarda mükerrer seçimi engellersek daha iyi olacak.
 

Ekli dosyalar

Son düzenleme:
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Ambar Durum formunu güncelleyerek programı tekrar gönderdim.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Merhaba,

Tabiki olabilir. Fakat şöyle bir durum var. Siz form üzerinde "Eylül-Ekim ..." diye etiketlere isim vermişsiniz. Dönem değiştir dediğimizde bunlar değişiyor mu?

Birde neden form üzerinde 5 ayın ismi var? Neden 12 ay yok?
43. mesajda konu ile ilgili açıklama yaptım.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Bu çalışmada TEMMUZ ve AĞUSTOS ayları hiç kullanılmayacak mı?
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Yatılı okul için hazırladığım bir program olduğu için gerek yok. Ama kod yazarken kolaylık sağlayacaksa Temmuz-Ağustos aylarını dahil edebiliriz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben hazırladığınız programın detaylarını bilmiyorum. Bu sebeple konuyu yanlış yönlendirmemek ve net cevaplar verebilmek adına sorular soruyorum. Konuyu siz detaylı biliyorsunuz.

Eğer son eklediğiniz dosyada gerekmeyen ay isimleri varsa formdan silebiliriz. Hangi aylar size gerekli ise belirtin diğerlerini formdan silelim.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
10 ay. Eylül'den Haziran'a kadar. Temmuz ve Ağustos'a gerek yok.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Düzenlenmiş dosyanız ektedir. İnceleyip eksik kalan yönlerini açıklarsanız tamamlamaya çalışırım.

Benim gözüme çarpan bir olay var.

Tabela giriş formunu açtım. Hiç bir bilgi girmeden kaydet tuşuna bastığımda program hata veriyor.

Not : Tabela giriş formundaki comboboxlarınızda düzenleme yaptım. Uyarı mesajını kaldırdım. Umarım beğenirsiniz.
 

Ekli dosyalar

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
"Tabela giriş formunu açtım. Hiç bir bilgi girmeden kaydet tuşuna bastığımda program hata veriyor." Buradaki uyarı sanırım;
Next
'DİKKAT!"liste" sekmesindeki 301-326. satırların kaymaması gerekiyor.
S1.Cells(301, Y) = NO * 1
S1.Cells(302, Y) = MUDUR
S1.Cells(303, Y) = MUDYARD
S1.Cells(304, Y) = NOBTC
S1.Cells(305, Y) = MEMUR
S1.Cells(306, Y) = ASCI
S1.Cells(307, Y) = SYTL * 1
S1.Cells(308, Y) = AYTL * 1
S1.Cells(309, Y) = SOM * 1
S1.Cells(310, Y) = AOM * 1
S1.Cells(311, Y) = SHZM * 1
S1.Cells(312, Y) = AHZM * 1
S1.Cells(313, Y) = SPARA * 1
S1.Cells(314, Y) = APARA * 1
S1.Cells(315, Y) = SK1
S1.Cells(316, Y) = SK2
S1.Cells(317, Y) = SK3
S1.Cells(318, Y) = SK4
S1.Cells(319, Y) = OY1
S1.Cells(320, Y) = OY2
S1.Cells(321, Y) = OY3
S1.Cells(322, Y) = AY1
S1.Cells(323, Y) = AY2
S1.Cells(324, Y) = AY3
S1.Cells(325, Y) = AO1
S1.Cells(326, Y) = AO2
End If
kodlarındaki textboxların liste sayfasına sayı formatında veri göndermesi için bazı textboxlara ait kodların sonuna (*1) kodu eklememden kaynaklanıyor. Bu textboxların liste sayfasına sayı formatında veri göndermesinin farklı yolu olabilir mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Kaydet tuşundaki hatanın sebebi ilgili nesnenin boş olmasından kaynaklanıyor. Siz birde boşluğu birle çarpıyorsunuz. Bu da hata vermesine sebep oluyor.

İlk satır için örneklemek gerekirse kaydet kodu aşağıdaki gibi olursa sorun yaşamazsınız.

Kod:
If NO <> "" Then S1.Cells(301, Y) = NO * 1
Birde sayısal veri girilecek nesnenin KEYPRESS olaylarına aşağıdaki gibi bir kod yazarsanız sadece sayısal değerler girilebilir.

Örnek;

Kod:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosyadaki yenilikleri aşağıdaki yöntemi uygulayarak kendi dosyanıza taşıyabilirsiniz.

Kendi projenizi açın. Kod penceresine geçin.
UserForm1 ve AmbarDurumForm isimli formlarınızın ismini değiştirin.
Daha sonra benim gönderdiğim projeyi açın.
Benim eklediğim dosyanın kod bölümüne geçin.
İsimlerini değiştirdiğini iki formu sürükle bırak yöntemi ile kendi dosyanıza aktarın.
Sonra kodların çalışıp çalışmadığını test edin. Emin olduktan sonra dilerseniz ismini değiştirdiğiniz formlarınızı silebilirsiniz.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Function Listele(Sutun As Byte)
Dim S1 As Worksheet, X As Long
Dim Say As Long, Kontrol As Boolean

Set S1 = Sheets("liste")
ReDim Dizi(1 To 1, 1 To 1)

For X = 2 To 300
If S1.Cells(X, 2) <> "" Then
For Y = 1 To Replace(Nesne, "ComboBox", "")
If S1.Cells(X, 2) = Me.Controls("ComboBox" & Y) Then
Kontrol = True
Exit For
End If
Next
If Kontrol = False Then
Say = Say + 1
ReDim Preserve Dizi(1 To 1, 1 To Say)
Dizi(1, Say) = S1.Cells(X, Sutun).Value
Else
Kontrol = False
End If
End If
Next
Listele = Dizi
End Function
UserForm1 de kırmızı ile belirttiğim satırda bazen hata veriyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Hata aldığınız anda yaptığınız işlemi yazarsanız kodları adımlayarak kontrol etme şansımız olabilir.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Bu hatayı her zaman vermiyor. Sadece tabela giriş yaparken malzeme miktarı yazdığımız textboxlar fare ile farklı bir yere tıkladığında içindeki sayıyı 2 ondalıklı hale çeviriyor. Ama textboxtan çıkmadan yani textbox sayıyı 2 ondalıklı hale getirmeden kaydet düğmesine bastığımızda ve ondan sonra takvimden başka güne tıkladığımızda hatayı veriyor.
Forumda bir mesaj textboxların yazı girmeye uygun olduğunu bunun yerine sağ tarafındaki tırnağı kaldırarak combobox kullanmayı tavsiye ediyordu. Malzeme miktarını yazdığımız textboxları kaldırıp yerine combobox koysak bu comboboxların adlarını da kaldırdığımız textboxların adları ile değiştirsek çözüm olur mu?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Bence combobox eklemenize gerek yok.

Dosyanızda birkaç düzenleme daha yaptım. İncelermisiniz.
 

Ekli dosyalar

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Aynı yerde bu sefer şu hatayı veriyor:
Run-time eror "381":
Could not set the Column property. Invalid property array index.

İlk comboboxta girilen veriyi de siliyor.
Hatalı gösterdiği kodlar ise:
'MALZEME 1
Private Sub ComboBox1_Change()
Sheets("tabela").Range("A23").Offset = ComboBox1
Nesne = Me.Frame5.ActiveControl.Name
Me.ComboBox2.Column = Listele(2)
End Sub
 
Üst