Ürün adını girmek için bir metin kutusu olan bir kullanıcı formum var ve yinelenen bir ad girildiğinde kullanıcıyı uyarmak istiyorum. Bu sütuna girilen Değerler A sütununda saklanır ve A sütunum Kat-1, kat-2, Amp-0, Pji-4 gibi değerlere sahip olacaktır. Aşağıdaki kodu denedim ama bana iki kez girdi Bir 'k' girildiğinde mesaj. Esasen, 'Kat-1' için tamamen kontrol etmek ve daha sonra bir çift giriş mesajı görüntülemek istiyorum.Kullanıcı formunda bir metin kutusuna çift giriş için uyarı kullanıcısı
Private Sub txt_BPName_Change()
Dim cel As Variant
Dim myrange As Range
Set myrange = Worksheets("Sheet1").Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).row)
'myrange.Interior.ColorIndex = xlNone
For Each cel In myrange
If Application.WorksheetFunction.CountIf(myrange, cel) > 1 Then
MsgBox ("Duplicate Entry")
Exit For
End If
Next
Dim i As Long
Dim Count As Long
Do
For i = 1 To Len(txt_BPName.Text)
Select Case Asc(Mid(txt_BPName.Text, i, 1))
Case 45, 48 To 57, 65 To 90, 97 To 122
'Cells(Row, 1).Select
ActiveCell.Formula = txt_BPName.Text
Count = 0
Case Else
MsgBox ("Invalid Entry")
Exit For
txt_BPName.SetFocus
Count = 1
End Select
Next
Loop While Count <> 0
End Sub
Bir 'txt_BPName_Exit' olay alt öğesinde yinelenen verileri denetleyen kodu yerleştirmeyi deneyin. Daha sonra, kullanıcı tamamen veriyi yazdıktan sonra çoğaltılmış veriyi kontrol eder ve başka bir sekmeyi tıklatmaya veya tıklamaya çalışır (yani, metin kutusu odağı kaybeder). – Tim
Tim ve Stewbob önerilerine ek olarak, '' Her cel için myrange' döngüsünün aslında 'txt_BPName' TextBox akım değerinin' myrange' aralığında olanların bir kopyası olup olmadığını test etmediğini belirtmek isterim. Daha ziyade, 'myrange' çiftleri varsa,' myrange 'içeriğinin mevcut textbox değerinden bağımsız olması gerektiğinden kullanışlı olmayacak gibi görünüyor. Son olarak, bazı "GO" düğmesine basarak kullanıcının ilgili UserForm kontrollerinin değerini "toplam" olarak kontrol etmeyi öneririm: Burada çapraz kontrolleri yapabilir ve tüm geçersiz veriler hakkında kullanıcıyı bilgilendirebilirsin (eğer varsa) – user3598756
öneride gerekli değişikliği yaptım. – Abhi0609