Change event mit Verzögerung
10.05.2022 14:20:57
Andi
ich habe eine Userform erstellt, bei der ich eine Palettennummer eingebe und dann wird mir via "Change" Event im darunterliegenden Lable direkt die zu der Palette gehörende Bezeichnung eingeblendet. Existiert diese Palette nicht kommt es zur definierten Fehlermeldung.
Nun ist mein Problem, dass wenn ich eine einstellige Zahl (1-9) eintrage alles funktioniert aber wenn ich eine mehrstellige Zahl eintrage springt die Sub auf jede Stelle der Zahl an.
Meine Idee war nun eine zeitliche Verzögerung mit Application.wait() zu programmieren um diesen Fehler zu umgehen aber das funktioniert so auch nicht so ganz.
Hier der Code der Sub:
Sub ShowDieName()
'Zeigt den Werkzeugnamen bei eingabe der Palettennummer
Dim intPal01 As Integer
Dim intPal02 As Integer
Dim rngSearch01 As Range
Dim rngSearch02 As Range
If SwitchDiePlaceForm.txtPal1.Value "" Then
'Application.Wait (5000)
intPal01 = SwitchDiePlaceForm.txtPal1
Set rngSearch01 = ActiveSheet.Range("B9:B1048576").Find(intPal01, Lookat:=xlWhole) 'Suche Nummer Palette 1
If rngSearch01 Is Nothing Then
MsgBox "Dieser Palettenplatz ist nicht belegt", vbOKOnly
Else
SwitchDiePlaceForm.LBLpAL1 = Cells(rngSearch01.Row, rngSearch01.Column + 1).Value
End If
Else
SwitchDiePlaceForm.LBLpAL1 = ""
End If
If SwitchDiePlaceForm.txtPal2.Value "" Then
intPal02 = SwitchDiePlaceForm.txtPal2
Set rngSearch02 = ActiveSheet.Range("B9:B1048576").Find(intPal02, Lookat:=xlWhole) 'Suche Nummer Palette 2
If rngSearch02 Is Nothing Then
MsgBox "Dieser Palettenplatz ist nicht belegt", vbOKOnly
Else
SwitchDiePlaceForm.lblPAL2 = Cells(rngSearch02.Row, rngSearch02.Column + 1).Value
End If
Else
SwitchDiePlaceForm.lblPAL2 = ""
End If
Ich wäre über jede Hilfe dankbar.
Gruß Andi