if then kod kısaltması

Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
Arkadaşlar merhaba
Bu konuyu daha öncede açmıştım cevap gelmeyince tekrar yeni haliyle açma ihtiyacı duydum. Çünlü sorunnumu halen çözemedim.
Aşağıdaki kodu yazdım ve çalışıyor. benim sormak istediğim bu kod Label21 den başlayıp Label110 kadar gidiyor. Bu kodu kısaltmanın yolunu arıyordum. Yardımcı olursanız minnettar olurum. Sayfamda çok yer kaplıyor.

Yardımcı olan arkadaşlara şimdiden teşekkürler.
kod:
If Label21 = "" Then
TextBox4.BackColor = vbgrey
TextBox4.Enabled = False
Else
TextBox4.BackColor = vbWhite
TextBox4.Enabled = True
End If

If Label22.Object = "" Then
TextBox5.BackColor = vbgrey
TextBox5.Enabled = False
Else
TextBox5.BackColor = vbWhite
TextBox5.Enabled = True
End If

If Label23.Object = "" Then
TextBox6.BackColor = vbgrey
TextBox6.Enabled = False
Else
TextBox6.BackColor = vbWhite
TextBox6.Enabled = True
End If

If Label24.Object = "" Then
TextBox7.BackColor = vbgrey
TextBox7.Enabled = False
Else
TextBox7.BackColor = vbWhite
TextBox7.Enabled = True
End If
 
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
Arkadaşlar bu kodu oluşturabileceğim bir örnek olsa da yeter.
ben kendim üzerinde düzenleme yapabilirim.
Bir link olsada olur ben bulamadım da.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Eğer textboxlarda aynen sıralı devam ediyorsa aşağıdaki gibi deneyiniz..

Kod:
For i = 21 To 110
If Controls("Label" & i) = "" Then
Controls("TextBox" & i - 17).BackColor = vbgrey
Controls("TextBox" & i - 17).Enabled = False
Else
Controls("TextBox" & i - 17).BackColor = vbWhite
Controls("TextBox" & i - 17).Enabled = True
End If
Next
 
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
Çok teşekkür ederim.
Tam istediğm gibi.
Emeğinize sağlık.
 
Üst