folgende Thematik:
mit Hilfe einer UserForm wird über eine TextBox eine 10-Stellige Bestellnummer abgefragt welche in die nächste freie Spalte der Tabelle (Sheets (Erfassung)) unter den letzten Eintrag geschrieben wird.
Nun soll direkt nach Eingabe geprüft werden, ob unter der Bestellnummer bereits eine Erfassung stattgefunden hat. Wenn ja entsprechender Hinweis über MsgBox.
Was muss ich hier noch hinzufügen?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1) <> 10 Then
TextBox1 = ""
Cancel = True
TextBox1.SetFocus
Else
Label1.Caption = "Bestellnummer geprüft"
With TextBox2
.SetFocus: .SelStart = 0: .SelLength = Len(.Text)
End With
End If
End Sub
Mit dem obigen Skript kann ich bislang sicherstellen, dass nur 10-Stellige Eingaben in die Tabelle aufgenommen werden. Längere oder kürzere werden gelöscht.
Elegant wäre eine direkte Begrenzung der TextBox für maximal 10 Stellen, was heißen soll das jede weitere Tastatureingabe unberücksichtigt bleibt.
Ist so etwas ohne viel Aufwand darstellbar?
Herzlichen Dank für die Unterstützung vorab.
Malcolm