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

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:

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
Ö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
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Sn: leventm üsdat çok teşekkür ederim. tam olarak istediğim buydu.
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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:
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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?
 

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
Ö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.
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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:
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Öneri bekliyorum arkadaşlar. toplamda 167 adet TextBox var. ancak temizlemesi gerekenler. ekranda da görüldüğü üzere son textler.
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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.
 

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
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=""
.
.
.
.
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Ü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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,599
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,599
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
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.
 

Korhan Ayhan

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

Örnek dosyanızı eklerseniz daha faydalı olacaktır.
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
SN: COST_CONTROL üsdat örnek ektedir. İlginize çok teşekkür ederim.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,599
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
SN: COST_CONTROL çok teşekkür ederim. Bu sefer oldu. Tam istediğim gibi. Sağolun.
 
Üst