Dag, Piet,
veronderstellingen:
1. datainvoer op het eerste werkblad in column 1
2. userform met TextBox1 en CommandButton1
deze elementen kan je in de code zo nodig aanpassen
Private Sub CommandButton1_Click()
Dim DataRange As Range
Dim Duplicate As Range
If TextBox1 = vbNullString Then Exit Sub
Set DataRange = Sheets(1).Columns(1)
With DataRange
Set Duplicate = .Find(TextBox1, after:=.Cells(1), LookIn:=xlValues, lookat:=xlWhole)
End With
If Duplicate Is Nothing Then
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = TextBox1
TextBox1 = vbNullString
Else
MsgBox "Duplicate found in " & Duplicate.Address, 48, "NO DUPLICATES PLEASE"
End If
End Sub
Wanneer je op de knop drukt en er iets is ingevuld in textbox1 wordt deze waarde getest:
1. reeds aanwezig in de lijst: popup met waarschuwing
2. niet aanwezig: item worst naar werkblad gecopieerd en textbox1 wordt gewist voor volgende invoer
4 cijfers en 2 hoofletters: nog in de code bij te voegen
komen deze uit een lijst of mag de gebruiker zomaar kiezen ?
beste groeten,
Erik
aanpassing: het is meestal angewezen in dit soort applicaties om de eigenschap van de button "TakeFocusOnClick" op FALSE te zetten
zo blijft je textbox actief voor verdere invoer