• DİKKAT

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

CheckBox seçimine göre TextBox içeriğinin Temizlenmesi

  • Konbuyu başlatan Konbuyu başlatan ocamsul
  • Başlangıç tarihi Başlangıç tarihi
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Arkadaşlar herkese iyi haftalar. Sn: COST_CONTROL üsdadın vermiş olduğu örneğe CheckBox lar ekledim. 51. TextBox a aralarında virgül kullanmak kaydıyla istediğimiz TextBox un içeriğini temizleyebiliyoruz. Ancak bu işlemi CheckBox ların seçimine göre nasıl yapabiliriz? Yani hangi CheckBox lar seçili ise yanındaki TextBox un içerikleri yine butona basmak suretiyle temizlensin.
 
Son düzenleme:
Öncelikle textbox ve checkboxların adlarındaki sayıların aynı olmasını sağlayın yani checkbox1 in karşısında textbox1, checkbox50 nin karşısında textbox50 olmalıdır. Sonrada aşağıdaki kodu butona kopyalayın.

Kod:
Private Sub CommandButton1_Click()
For a = 1 To 50
If Controls("checkbox" & a) = True Then Controls("textbox" & a) = ""
Next
End Sub
 
Sn: leventm üsdat çok teşekkür ederim. tam olarak istediğim buydu.
 
Sn: leventm üsdat verdiğiniz örneği kendi çalışmamda denedim. Ancak; çalışmamda biraz yol kat ettiğim için kodlarınızı ekli şekilde uyguladığımda hata veriyor. Bu durumda ne yapabilirim. Zira çalışmam da içeriği temizlenmesi gereken TextBoxların arasında başka TextBoxlarda var.
 
Son düzenleme:
Sn: leventm üsdat verdiğiniz örneği kendi çalışmamda denedim. Ancak; çalışmamda biraz yol kat ettiğim için kodlarınızı ekli şekilde uyguladığımda hata veriyor. Bu durumda ne yapabilirim. Zira çalışmam da içeriği temizlenmesi gereken TextBoxların arasında başka TextBoxlarda var.

sorunumun başka bir çözümü varmı dostlar?
 
Öncelikle textbox ve checkboxların adlarındaki sayıların aynı olmasını sağlayın yani checkbox1 in karşısında textbox1, checkbox50 nin karşısında textbox50 olmalıdır. Sonrada aşağıdaki kodu butona kopyalayın.

Yukarıda gerekli açıklamayı yapmıştım.
 
Sn: leventm son mesajımda örnek olarak da gösterdiğim gibi sorun çıkıyor. dediğinizi aynen yapmama rağmen ekli hata uyarısını veriyor.
 
Son düzenleme:
Öneri bekliyorum arkadaşlar. toplamda 167 adet TextBox var. ancak temizlemesi gerekenler. ekranda da görüldüğü üzere son textler.
 
Kod:
Private Sub CommandButton1_Click()
For a = 1 To 50
If Controls("checkbox" & a) = True Then Controls("textbox" & a) = ""
Next
End Sub

bu yoldan daha uzun bir yol var ise onada razıyım. önemli olan checkbox seçili ise yanında olan TextBox un içeriğinin temizlenmesi.
 
Sn ocamsul

Ben neden checkbox ve yanındaki textboxun ismindeki sayılar aynı olsun diyorum çünkü bu şekilde işaretli checkboxın yanındaki textboxı bulmak kolay olacaktır. Aksi takdirde her checkbox için ayrı kod yazmanız gerekecekki buda üç satırlık çözümü elli satırda çözmeniz demektir. Bu durumda aşağıdaki gibi yapabilirsiniz.

Kod:
if checkbox1.value=true then textbox1=""
if checkbox2.value=true then textbox2=""
.
.
.
.
 
Üsdat verdiğiniz örneği anladım, Ancak; 167 tane textBox çalışmamda vardı ama checkbox kullanarak ilgili TextBoxların içeriğini temizleyebilme işini sonradan ekledim ve 167 olan TextBox sayısına eşit 167 tane checkbox yok. Ben bu çalışmada sadece TextBxlara göre checkbox ların numaralarını değiştirdim. Ama olmadı. Verdiğiniz örneği kendime uyarlıyacağım. Çok teşekkür ederim.
 
Selamlar,

Çalışmanızdaki içeriği silinecek textboxlar ile checkboxların nolarını aynı yaptıktan sonra kodu aşağıdaki şekilde denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    For X = 1 To 167
    If Controls("CheckBox" & X) = True Then Controls("TextBox" & X) = ""
    Next
End Sub
 
Selamlar,

Çalışmanızdaki içeriği silinecek textboxlar ile checkboxların nolarını aynı yaptıktan sonra kodu aşağıdaki şekilde denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    For X = 1 To 167
    If Controls("CheckBox" & X) = True Then Controls("TextBox" & X) = ""
    Next
End Sub

Sn: COST_CONTROL üsdat selamlar. verdiğiniz kod tam istediğim gibi çok teşekkür ederim. Budur yani. Ayrıca Sn: leventm üstadımada çok teşekkür ederim. birde ufak bir soru bu kod içerisinde işlem tamamlandıltan sonra seçilmiş CheckBox ların seçiminin kaldırılmasını nasıl yapabilirim. Birde işlemi doğru yapıyor ama içeriği temizlenen textboxlardan önceki tüm textboxlarında içeriğini temizliyor. Örneğin CheckBox25 i seçince TextBox25 içeriği temizleniyor ama bu textboxdan başka TextBox20.21.22.23 nolu TextBoxlarında içeriğini temizliyor. Bu neden oluyor.
 
Son düzenleme:
Selamlar,

Kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    For X = 1 To 167
    If Controls("CheckBox" & X) = True Then Controls("TextBox" & X) = ""
    Controls("CheckBox" & X) = False
    Next
End Sub
 
SN: COST_CONTROL çok teşekkür ederim. Ancak;

işlemi doğru yapıyor ama içeriği temizlenen textboxlardan önceki tüm textboxlarında içeriğini temizliyor. Örneğin CheckBox25 i seçince TextBox25 içeriği temizleniyor ama bu textboxdan başka TextBox20.21.22.23 nolu TextBoxlarında içeriğini temizliyor. Bu neden oluyor.
 
Selamlar,

Örnek dosyanızı eklerseniz daha faydalı olacaktır.
 
SN: COST_CONTROL üsdat örnek ektedir. İlginize çok teşekkür ederim.
 
Son düzenleme:
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Kontrol As Control
    For X = 1 To 167
    For Each Kontrol In Me.Controls
    If TypeName(Kontrol) = "CheckBox" And Kontrol.Name = "CheckBox" & X Then
    If Controls("CheckBox" & X) = True Then Controls("TextBox" & X) = ""
    Controls("CheckBox" & X) = False
    End If
    Next: Next
End Sub
 
SN: COST_CONTROL çok teşekkür ederim. Bu sefer oldu. Tam istediğim gibi. Sağolun.
 
Geri
Üst