Scrollbar kullanımı ve satırdaki bilgiyi silme

Katılım
7 Mart 2005
Mesajlar
91
Excel Vers. ve Dili
2003 / 2010
Kolay gelsin arkadaşlar
Bir form yaptım bu form üzerinde
14 adet textbox
5 adet commanbutton var
1 adet scrollbar
kaydet : ile bilgileri sayfaya kaydediyorum
Bul : ile kayıtlı bilgileri form üzerine gelmesini istiyorum
Sil : ile sayfada kayıtlı olan ve bul yardımı ile form üzerine gelen ve listelediğim herhangi bir satırdaki bilgilerin silinmesini istiyorum

Kayıtları göster : ile fornmun gizlenip excel sayfasına dönmek istiyorum

ScrollBar : ile sayfa üzerinde kayıtlı herhangi bir satırda olan bilgileri görüntülemek istiyorum
Umarım anlatabilmişimdir

form ektedir
yardımcı olabilecek arkadaşlara şükranlarımı arz ederim
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn baron07

Sorunuzda 14 adet textbox ve 5 adet command button demişsiniz, fakat dosyanızda 38 adet textbox ve 3 adet commandbutton mevcut, acaba yanlış dosya eklemiş olabilirmisiniz? Birde size tavsiyem eğer aynı tür nesneyi çok sayıda kullanacaksanız, bu durumda isimlerini ardışık gidecek şekilde ayarlayın. Ã?rneğin textbox1,textbox2,.... veya t1,t2,t3,... vb. Böylece kod yazarken her nesneyi tek tek tanımlamaya gerek kalmadan bir for-next döngüsü ile gruplayarak kullanmak mümkün olacaktır. Bu hem kodda ciddi kısalma sağlayacağı gibi kodun çalışma süresinide etkileyecektir.
 
Katılım
7 Mart 2005
Mesajlar
91
Excel Vers. ve Dili
2003 / 2010
çok özür dilerim yanlışlıkla başka bir dosya yollamışım
doğru olanı 37.05 kb olanı
bu arada sizin daha önceki örneklerinizden birini scrollbar ile ilgili aşağıdaki kodları buldum

Private Sub ScrollBar1_Change()
For a = 1 To 15
Controls("textBox" & a) = Sheets("data").Cells(ScrollBar1.Value + 2, a).Value
Next
End Sub

önce çalıştırdım fakat sonra hata verdi
nedenini bulamadım
saygılarımla.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki şekilde düzenleyin. Birde scrollbarın minimum değerini properties penceresinden 1 yapmanız gereklidir.

[vb:1:aa6d8184cf]Private Sub ScrollBar1_Change()
For a = 2 To 15
Controls("textBox" & a - 1) = Sheets("data").Cells(ScrollBar1.Value + 1, a).Value
Next
End Sub[/vb:1:aa6d8184cf]

Not:Sizde hata vermesinin sebebi for-next döngüsünün üst sınırını 15 yapmanızdan kaynaklanıyor, çünkü 15.inci textbox mevcut değildir. Benim yaptığım değişiklikle karşılartırın. Döngünün başlangıç ve bitiş değerleri hem data sayfasındaki veri alınacak sütun sayısına hemde textboxların sayısına göre ayarlanmıştır.
 
Katılım
7 Mart 2005
Mesajlar
91
Excel Vers. ve Dili
2003 / 2010
yukarıdaki kodlarla scrollbar sorunu çözüldü sayfanın ilgili satırını listeliyor.

silme ile bir sorun :textbox larda sıralanan verilerin içinden silinmesi gereken ler oluyor sil butonu ile silmek istiyorum ve silinen verinin data sayfasındada igili satırın silinmesi , bir alt satırın silinen satırda yer alması ve arada boş satır olmaması gerekiyor
saygılar teşekürler
bir örnek dosya ekledim
 

Levent Menteşoğlu

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

[vb:1:abea4fd887]Private Sub CommandButton2_Click()
sat = [a1:a65536].Find(TextBox1.Value).Row
Rows(sat).Delete
End Sub
[/vb:1:abea4fd887]
 
Katılım
7 Mart 2005
Mesajlar
91
Excel Vers. ve Dili
2003 / 2010
silme işlemi başarılı fakat;
örneğin 5.satırı sildiği zaman bu kez sıralama ..4,6,7 diye gidiyor acaba bunun sıralı olarak gitmesini sğlayabilirmiyiz ..
..4,5,6,7 gibi
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki ile değiştirerek deneyin.

[vb:1:750cd4e73a]Private Sub CommandButton2_Click()
sat = [a1:a65536].Find(TextBox1.Value).Row
Rows(sat).Delete
[a2:a3].AutoFill Destination:=Range("A2:A" & [a65536].End(xlUp).Row)
End Sub
[/vb:1:750cd4e73a]
 
Katılım
7 Mart 2005
Mesajlar
91
Excel Vers. ve Dili
2003 / 2010
kodlar tam istediğim gibi olmuş teşekkür ederim.
affınıza sığınarak bir sorum daha olacaktı
form açıldığında yeni bir kayıt girileceği zaman textbox1 de en son verilen sıra numarasının olmasını sağlayabilirmiyiz textbox olmazsa bunu label olarak da yapabilimiyiz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bunun için aşağıdaki gibi bir kodu userform_initialize olayına yazmanız yeterlidir.


textbox1=[a65536].end(xlup).value

label1=[a65536].end(xlup).value
 
Üst