optionbutton ile seçilen sayfaya veri aktarma

Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
selamlar;

bir userform üzerinde 3 adet optionbutton var. textboxlarla veri girişi yapıyorum ve kaydet butonuna bastığımda optionbuttonlardan hangisi seçili ise o sayfaya kayıtları aktarmasını istiyorum. Yani optionbutton1 için sayfa1, 2 için sayfa2 ... vb. hepsine tek tek if şartı koydum ancak bu sayfalar arttığında kodlar gereksiz yere uzayacak. bu işin daha kısa yolu olmalı diye düşünüyorum.. aşağıdaki gibi bir şeyler yazdım ancak daha kısa nasıl yapabilirim??

Kod:
sub kaydet()
set s1=sheets("sayfa1")
set s2=sheets("sayfa2")
set s3=sheets("sayfa3")
 
if optionbutton1=true then
s1.cells(1, 20)=textbox1
...
...
...
...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

Kod:
sub kaydet()
 
if optionbutton1=true then set s1=sheets("sayfa1")
if optionbutton2=true then set s1=sheets("sayfa2")
if optionbutton3=true then set s1=sheets("sayfa3")
 
s1.cells(1, 20)=textbox1
...
...
...
...
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn. leventm üstadım;

cevabınız için çok teşekkür ediyorm. aynen dediğiniz gibi olayı kısa yoldan çözdüm.
ancak bir sorum daha olacak. :)
sizin forumda yayımlamış olduğunuz veri yönetimi örneği vardı. ellerinize emeğinize sağlık, mükemmel bir çalışma.

çalışmanızdan faydalanarak bende benzer bir şey yaptım. ve bu optionbuttonları da o userformun üzerine koydum. yani tek userform üzerinden 3 optionbuttonla gereken sayfaya kayıt yapabiliyorum. ancak ilgili sayfayı optionbuttonla işaretlediğim zaman listboxta o sayfaya ait verilerin görünmesini istiyorum. optionbuttonların işaretlenmesiyle listboxtoki veriler değişmiyor sadece kaydet butonu kullanıldığında ilgili sayfanın verileri listbox a geliyor. bunu değiştirme şansımız varmı acaba? bir de userform ilk açıldığında listbox boş görünüyor. ilk kayıdın yapılması ile birlikte yine ilgili sayfanın verileri listbox ta görünüyor.

bu iki konuda yapılabilecek bir şeyler var mı?? bu durumu nasıl düzeltebiliriz?

saygılarımla.
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
konu hakkında yapılabilecek bir şey yok mu değerli üstadlarım??
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
çalışmamın sonuna geldim değerli üstadlarım; yapmam gereken sadece bu işlem kaldı?? bu durumu düzeltemez miyiz acaba? olumsuz da olsa cevabınızı bekliyorum en azından işlemimi ona göre sonuçlandırayım? :yardim: :yardim: :yardim:
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn. leventm hocam;

örnek dosyayı ekte gönderiyorum. 3 adet optionbutton var userform üzerinde. seçilen sayfaya kayıt yapılmasını sağlıyor. anasayfa üzerindeki butondan userform açıldığında listbox boş açılıyor. benim istediğim optionbutton a tıklayınca doğrudan o sayfanın verileri listbox ta görüntülensin. ancak bu işlem yapılırken kayıt yapılacak sayfa görünmesin, yani anasayfa seçili durumda olsun. dikkat ederseniz kayıt butonuna da bu şekilde yazdım kodları. tekrar anasayfaya dönüş olsun diye. yardımcı olursanız sevinirim.

saygılarımla.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodları userformun kod sayfasına kopyalayın.

Kod:
Private Sub OptionButton1_Click()
ListBox1.RowSource = OptionButton1.Caption & "!a2:i" & Sheets(OptionButton1.Caption).[a65536].End(3).Row
End Sub

Private Sub OptionButton2_Click()
ListBox1.RowSource = OptionButton2.Caption & "!a2:i" & Sheets(OptionButton2.Caption).[a65536].End(3).Row
End Sub

Private Sub OptionButton3_Click()
ListBox1.RowSource = OptionButton3.Caption & "!a2:i" & Sheets(OptionButton3.Caption).[a65536].End(3).Row
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn. leventm üstadım;

elinize emeğinize sağlık. çok teşekkür ediyorum, sorunum çözüldü.
ancak şöyle bir şey dikkatimi çekti. eklemiş olduğum dosyanın anasayfasının hücre dolgu rengini değiştirin (mesela siyah yapın). anasayfada iken userformu "X" çarpı işaretinden kapattığınızda a2:j65536 satırlarının dolgu rengi beyaza dönüşüyor. kodlarınız içinde bu işi yapan satırı bulamadım ve düzeltemedim. nasıl düzeltebiliriz bu sorunu, incelerseniz sevinirim. ben zaten userform üzerine kapat butonu koymuştum ama çarpıdan kapatma işlemini nasıl yasaklarız?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu ilgili kodun yerine kopyalayın. Eskisini silin her iki isteğinizde gerçekleşmiş olur.

Kod:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn. leventm,

çok teşekkür ederim, hallettim. :mrgreen: :mrgreen: :mrgreen:

saygılar...
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
değerli üstadlarım;

sn. Levent Beyin veri yönetimi çalışmasıyla ilgili sormak istediğim bir şey daha var.

textboxlar ile veri girişi yapıyoruz ve listboxta listeleniyor girdiğimiz veriler. benim textbox4 ile yaptığım veri girişi sürekli olarak ondalık sayılar içeriyor. (yani; 0,50 - 0,60 - 1,60 - 2,00 gibi veri girişi yapıyorum) kayıt ettikten sonra kayıtta değişiklik yapmak için listbox üzerinde çift tıklayarak kayıt bilgilerinin textboxların içine gelmesini sağlıyoruz. buraya kadar her şey tamam. bu aşamada textbox4 e yazdığım veri geri gelirken ondalık biçimde gelmiyor. yani 0,60 yazmış isem 0.6 olarak geliyor ve "değiştir" butonuna tıkladığımda bu veriyi 6 olarak değiştiriyor.

textbox ile yapılan veri girişinde verinin özelliklerini nasıl belirleyebiliriz?
 
Üst