• DİKKAT

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

Userformdan bir sayfaya veri kayıt etmek

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selamlar,
Örnek dosyam aşağıdaki linktedir.
Ana sayfa olarak kullandığım userformdaki adı 1 olan CommandButton'a tıkladığımda userform gibi bir pencere daha açılmasını istiyorum. bu pencereden de girdiğim verilerin sayfa1'deki A,B,C sütunlara satır satır kayıt edilmesini istiyorum. şöyle ki,
Yukarıda bahsettiğim pencere açılsın.
A,B,C sütunları için birer veri girdiğim kutu olsun.
verileri girdikten sonra "kaydet" tuşuna basınca sayfa 2'nin 2.satırından başlayarak veriyi aktarsın.
daha sonra yeni veri girişi için boş olarak pencere tekrar gelsin.
Herbir satır için otomatik sıralı artan bir kayıt no. versin.

Birde "düzenle" düğmesi olsun.

geriye dönük kayıtları kayıt nosuna göre ekrana getirip düzenleme, iptal etme işlemleri yapabilsin.

Şimdiden çok teşşekürler.



http://www.excel.web.tr/attachment.php?attachmentid=87165&d=1271782952
 
iyi akşamlar
adım adım gidelim istersen
örnek bir dosya ekliyorum bir incelersen ilk sorunuz böyle bir şey mi olacaktı.
bir de şunu söyliyeyim ikinci userform'da nelerin olmasını istiyorsanız bilgi verirseniz yardımcı olmaya çalışayım
( dosya sadece örnektir )
 

Ekli dosyalar

Son düzenleme:
Sayın Çılgın86'lı,
Öncelikle ilginize çok teşekkürler.
Aynen sizin gönderdiğiniz dosyadaki userform2 gibi bir pencere açılsın.
girilen verileri ilgili sayfanın satırına aktarsın ve bir kayıt no'su versin.
yine aynı userformdan düzenle, iptal et gibi şeçenekler olsun

aşağıdaki link sizin bir soruya cevap olarak gönderdiğiniz dosyadır. bu dosyadaki "PROGRAM GİRİŞ" sayfasındaki "Giriş"e tıkladığımda karşıma çıkan pencere gibi. Solda tarafta girilecek başlıklar var sağında ise veri girilmesi gereken yer var.
http://www.excel.web.tr/attachment.php?attachmentid=85371&d=1269345968

Siz 3 tane veri girişi sağlarsanız çok sevinirim.
şöyle birşey olabilir:
pencereden 3 veri giriş yapacağım. ilk veri girişi yapacağımdan pencerenin ilk satırında otomatik kayıt no olarak 1 yazsın. ve bu kayıt no.yu sayfa1'in A2 sütunana yazsın. girdiğimiz 3 veriyi girip kaydet deyince B2,C2,D2 ye yazsın. pencerenin alt kısım da yeni kayıt düğmesi olsun. buna tıklayınca kayıt no kısmında otomatik 2 görünsün ve A3'e yazsın. girilen yeni verileri B3,C3,D3'e yazsın.

pencerede "kayıt bul" kısmı olsun. örneğin 2 bul deyince 2.kayıdın bilgileri ekrana gelsin. bilgileri değiştirip yine aynı kaydet deyince son haliyle kaydetsin.
yine kayıt kısmından örneğin 1 bul diyelim oencerenin altında "kayıdı iptal et" deyince 1 kaydı iptal edip 2 kaydı 1.ye kaydırsın.

siz ilgilendikçe örneklemeye devam edeceğim.
Şimdiden çok teşekkürler.
çok sağolun
 
eki inceleyiniz sayfaya kayıt yapıyor
bir de neye göre veriyi seçip sileceksiniz onuda izah edin.
yalnız lütfen adım adım gidelim çok soru olduğu zaman kafam karışıyor :)
lütfen bilgi veriniz
 

Ekli dosyalar

Selam,
yardımlarınız için çok teşekkürler,

Adım adım gidelim ancak, sizin dosya kotanızı doldurmak istemiyorum. Birde sorduğum sorular birbiri ile ilgilidir diye düşümdüğümden sizlerin daha rahat çözüm bulmanızı sağlar diye düşündüm.

ekteki userform2 ilk aşamada istediğim gibi çalışıyor.
Yani kayıt girince en son boş satıra işliyor.
(çok hoşuma giden kısmı şu manuel son satırları silince kalan boş satırdan devam ediyor. çok güzel)
ek olarak şunları istiyorum.

yeni kayıt girirken userform2'deki B sütunu üstünde girilecek kayıt no.sunu yazsın istiyorum.
örneğin 4. kayıdı girip kaydet deyince B,C,D sütunları boşalsın üsteki kayıt no. otomatik yazsın.
iyi çalışmalar.
 
merhaba
öncelikle şunu söyliyeyim
mesaj kotam dolsada sorun olmaz ben istediğim yaptığımız işlemleri adım adım herkes takip edebilsin
ayrıca örneklerinden yararlandığım syn : Ferhat Pazarçevirdi Hocama Teşekkür ederim
yeni eklediğim dosya'da sil butonunu listbox'ta veri bulma ve girilen veya silinen verilerden sonra textbox'ların boş göstermelerini yaptım
inceleyiniz
ufak bir eksiklik var commanbutton1 Altına lütfen kopyalayınız
Kod:
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
 

Ekli dosyalar

Son düzenleme:
selam,
istediğimden fazlası olmuş. dediğiniz değişikliği yaptım.

birkaç istediğim var şöyle ki;

1-"kaydet" deyince sağdaki yeni değerler görünmüyor. örneğin sağdaki bölümde 4 kayıt var. ben 5.girip kaydet diyorum görünmüyor. ana sayfaya gidip gelince görünüyor.
2-Sağdaki pencereden düzenlemek istediğim kayıtı seçip düzenleme yaptıktan sonra yeni kayıt girmek için veri giriş yerleri boşalmıyor
3- butonlar aşağıdaki gibi fonksiyonları olsa nasıl olur?
YENİ KAYIT butonu:
Tıkladığımda veri girilen kısımlar boşalsın. (pencerenin ilk açıldığı gibi)

KAYDET butonu:
girilen yeni girilen kaydı kaydetsin. Ayrıca sağdaki pencereden şeçilip yapılan değişiklikleri kaydetsin.

Çık Butonu:
Şu anki iptal butonu olsun. değişikliğe gerek yok.

KAYIT SİL butonu:

Aslında bu buton olunca kafa karışıyor. Olmasa daha iyi olur diye düşünüyorum.
Siz nedersiniz?
Şöyle bir sorun oluyor. diyelim 1'den 5'e kadar kayıt var ben 3. iptal etmek istiyorum. 1,2,4,5 oluyor. Ben bunu 1,2,3,4 olsun istiyorum. Bu yüzden sizi yormasam mı?
Kaydı iptal et olayı olmasa daha iyi olur mu denemekte yarar var.

DÜZENLE butonu:
olmasın çünkü sağ tarafta kaydı şeçip gerekli değişiklikleri yapıtıktan sonra "kaydet" tuşu ile kayıt yapılıyor zaten.
 
merhaba
bu 4. adım'da listbox'ta ki veriler güncelleşiyor ve ayrıca bir temizle butonu oluşturdum listbox'tan seçilen verileri temizliyor
eki inceleyiniz . ayrıca başka neler yapılması gerek bilgi veriniz
 

Ekli dosyalar

Merhaba,
temizle butonu
Aynen istediğim yeni kayıt butonu gibi çalışıyor. sorun yok.
ancak sağ taraftan düzenlemek için bir kayıda tıkladığımda verileri değiştirip kaydet düğmesin tıklıyorum. tıkladığımda verileri yeni kayıt olarak ekliyor.
üzerinde olduğum aynı kayıtta değişiklik yapmasını istiyorum.
ancak yapmıyor.
 
Sayın cılgın86'lı,
konuya devam edelim tabi. Ancak, sizleri çok fazla yormamak istiyorum. Bir de her seferinde iyi düşünüp mantıklı karar vermek istiyorum. Yoksa çok merak ettiğim şeyler var.
şu an dosya üzerinde bazı eklemeler yapıyorum. yapabildiklerime ve yapamadıklarıma bakıyorum. sağ bölümdeki değerleri biçimlendirebiliyorum. adet, Tarih, Hız gibi. sütun ekeyip çıkarabiliyorum.
biradan son dosya ile ilgili sorularımı yollayacağım.
 
umarım ben de size yardımcı olabiliyorumdur. bir de diğer uzman arkadaşlar'da yardım etse daha iyi olur. hem takıldığımız yerlerde daha rahat hareket ederiz
dosyamız hakkında sorularınızı bekliyorum
 
Selamlar,
son dosya ile ilgili olarak;
1-verilerin kaydedildiği sayfa1'in 1.satır hariç tamamını siliyorum. userform2'yi çalıştırıyorum. sağ bölümde satır başlıkları görünüyor. bu bir problemin işareti değildir değilmi?
2-sağdaki bölümde herhangi bir veri düzelttikten sonra veri girişlerine devam ediyorum. her yeni veri girişi yaptıktan sonra veri girişi yaptığım bölümlere sağ bölümdeki en son değişiklik yapılanın bilgileri geliyor. temizle butonuna basınca siliniyor. ancak, gelmese daha iyi olur diye düşünüyorum.
3-Sağdaki kısmın başlığı (yani sayfa1'deki 1.satırdaki başlıkar) üst bölgede daima görünse nasıl olur? Yani hangi kayıtta olursak olalım üstte ibr yerde görünse. amcak sağa-sola kaydırma çubuğu ile hareket etse nasıl olur.
4-sağdaki kısım aynen excel tablosu gibi. çok iyi.
Ancak birde kenarlıklar görünse çok iyi olur.
iyi çalışmalar,
 
1. sorunuza cevabım kayıt yaptığımız zaman düzeliyor.
2. sorunuz'dan anladığım şu değiştir dediğimiz'de textbox'ta değiştirdiğimiz bilgiler kalıyor bunların temizlemek mi istiyorsunuz eğer doğru anladıysam bu kodu değiştir butonuna yapıştınız
Kod:
Private Sub CommandButton4_Click()
sat = ListBox1.ListIndex + 2
Cevap = MsgBox("DEĞİŞTİRMEK İSTEDİĞİNİZDEN EMİNMİSİNİZ!", vbYesNo, "")
If Cevap = vbNo Then Exit Sub
Sheets("1").Select
ListBox1.RowSource = ""
Cells(sat, "b") = TextBox1.Value
Cells(sat, "c") = TextBox2.Value
Cells(sat, "d") = TextBox3.Value
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
UserForm_Initialize
End Sub
3. sorunuz'dan anladım ise başlıkların listbox'ta görünmesi mi doğru anladıysam userfrom'un kod bölümüne bu kodu kopyalayınız
Kod:
Private Sub UserForm_Initialize()
If ListBox1.Tag = "Yeni" Then ListBox1.TopIndex = ListBox1.ListCount - 1
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "40;40;40;40"
ListBox1.RowSource = "1!A1:D" & Sheets("1").Range("A65536").End(xlUp).Row
End Sub
4. sorunuzda kenarlık diye bahsettikleriniz nelerdir.
 
Son düzenleme:
Merhaba,
1.cevabınız doğrudur.
2.cevabınızdaki kod işe yarıyor. Ancak Sorum bu değil.
ben anlatamadım. örnekle anlatıyorum;

Sağdaki kısımdaki daha önceden girilmiş herhangi bir veriye tıklayınız. herhangi bir değiştirme yapmayınız.
Temizle butonuna tıklayınız.
boşalan hücrelere yeni değer giriniz ve kaydet deyiniz.
kaydet dedikten sonra veri girdiğiniz yerleri dolu göreceksiniz.
iste bu değerler en son tıkladığınız sağ taraftaki eski kayıdın değerleridir (değişiklik yapmamış olsanız bile)
3. istediğim bu idi evet.
ancak çok satırlı bilgi girişinde sabit görünmüyor.

4. kenarlıktan kastım şu;
normal excel sayfasındaki kenarlık. yatay ve dikey çizgiler. hücre biçinlendirme de kullanılan.

Ayrıca bir sorum daha var;
veri kaydettikten sonra sağ bölümden görüyorum. Ancak çok satır olunca aşağı doğru çekince görüyorum.
ancak bir daha kayıt girince sağdaki liste başa dönüyor. devamlı aşağı çekiyorum. isterseniz birde siz deneyiniz. en son nerede bıraktıysam öyle kalsa olur mu?
Bir de birtek siz yardım ediyorsunuz. Allah Razı olsun...
Başka uzmanlar da alternatif fikir sunsanalar keşke. benden ziyade konuyu takip eden arkadaşlar istifade etmiş olurdu.
iyi çalışmalar.
 
2. sorunuzu denedim ( veriyi seçtim değiştir demeden temizle tıkladım ve veri kaydettim altına yeni veri olarak kayıt yaptı ). örnek gönderiyorum
3. sorunuz evet bunu denedim maalesef sabit olarak sonda kalmıyor en başa dönüyor.
yeni sorunuzla üçüncü soru birbiriyle aynı sonuç.
4. sorunuzdan anladığım normal sayfada baskı önizlemeye bastığımızda çıkan çizgilerden bahsediyorsunuz herhalde bunu userform gösteriyor mu araştırmak lazım tam bilmiyorum.
bir de uzman arkadaşlar neden fikir sunmuyorlar anlamadım ama gene de kırılmasınlar bize. ben ise onlardan öğrendiklerimle böyle size ve diğer arkadaşlara yardım ediyorum. umarım diğer uzman ve admin arkadaşlar'da fikir verirler. ( hepsine teşekkür ederim )
Allah Bütün excel.web.tr Ailesinden Razı Olsun
 

Ekli dosyalar

Son düzenleme:
Selamlar,

İhsan bey özel mesajla benim konu hakkımdaki düşüncelerimi sormuşsunuz;

Konudaki #17 nolu mesajınızdaki dosyayı inceledim. İlk farkettiğim eksiklikler aşağıdaki gibidir.

Kaydet tuşuna bastığınızda sorgusuz sualsiz kayıt yapıyor. Bu bir kayıt formu için eksikliktir. TextBox nesneleri boşsa datada sadece sıra noları olan kayıtlar oluşmasına sebep oluyor. Bunu sorgular ekleyerek engelleyebilirsiniz.

Aynı sorun DEĞİŞTİR butonunda da mevcut. Hiç seçim yapılmadan bu butona tıkladığınızda excel sayfasındaki ilk satırdaki başlık bilgileri siliniyor. Bu da sorgularla önlenebilir.

Ayrıca kodları kısaltmak adına TEMİZLE butonuna eklediğiniz kodları diğer butonların altındaki prosedürlere ekleyebilirsiniz. Siz her seferinde TextBox1 = "" gibi kodlar ekleyerek nesneleri temizliyorsunuz. Bu durum bir süre sonra kod yazarken sıkıcı bir hal alacaktır. Bunun yerine bu satırları silip CommandButton3_Click satırını yazarsanız nesneler yine temizlenecektir. Bu da size daha anlaşılır ve sade bir kod yapısı oluşturmanıza yardımcı olacaktır.

Bahsetmiş olduğum sorgular zaten küçük programların vazgeçilmez kısımlarıdır. Eğer bunları aşarsanız hazırladığınız programın kullanışı daha zevkli hale gelecektir.

Başarılar dilerim.
 
Selamlar,

Son eklediğiniz dosyada da aynı sıkıntılar devam ediyor.

Formu açtım. Ekrandaki kutucuklara birşey yazmadan kaydet butonuna tıkladım. Uyarı mesajı verdi. Evet diyerek geçtim ve sadece sıra numarası olan boş bir kayıt eklendi. Şöyle düşünün boş olarak kaydedilen veri kimin işine yarar.

Düzenle butonu içinde benzer durum sözkonusu. Formu açıp hiç seçim yapmadan direk düzenle butonuna tıkladığımda ve çıkan uyarı mesajına evet dediğimde işlem hata ile sonuçlandı.
 
Geri
Üst