Merhaba değerli arkadaşlar;
1 ile 45 arasında textboxlarda metinsel veya sayısal değerler var. Mükerrer olanların renklenmesini istiyorum.
Hepinize iyi ramazanlar diliyorum.
Merhaba.
Yeni bir Class kod sayfası ekleyin aşağıdaki kodu kopyalayın.
Kod:
Public WithEvents TB As MSForms.TextBox
Private Sub TB_Change()
UserForm1.DegerKontrol
End Sub
Aşağıdaki kodu da formun kod kısmına kopyalayın.
Textboxlara giriş yaptığınızda kontrol sağlar.
Kod:
Dim TextBoxlar() As New Class1
Private Sub UserForm_Initialize()
Dim Bak As Integer
ReDim TextBoxlar(1 To 45)
For Bak = 1 To 45
Set TextBoxlar(Bak).TB = Me.Controls("TextBox" & Bak)
Next
End Sub
Public Sub DegerKontrol()
Dim Dict As Object
Dim Bak As Integer
Dim Deger As String
Set Dict = CreateObject("Scripting.Dictionary")
For Bak = 1 To 45
Deger = Trim(Me.Controls("TextBox" & Bak).Text)
If Deger <> "" Then
If Dict.exists(Deger) Then
Me.Controls("TextBox" & Bak).BackColor = vbYellow
Dict(Deger).BackColor = vbYellow
Else
Dict.Add Deger, Me.Controls("TextBox" & Bak)
Me.Controls("TextBox" & Bak).BackColor = vbWhite
End If
End If
Next
End Sub
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.