Mükerrer Değeri Olan TextBoxları Renklendirme

Katılım
24 Temmuz 2019
Mesajlar
484
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
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
 
Rica ederim. Kolay gelsin.
 
Geri
Üst