/ / Excel VBA Check für Hebräisch in Text eingegeben, mit Tastendruck keyascii - Excel, VBA, Tastendruck, Hebräisch, erweiterte Ascii

Excel VBA Check für Hebräisch in Text eingegeben, mit Tastendruck keyascii - Excel, VBA, Tastendruck, Hebräisch, erweiterte Ascii

In meinem Excel-2013 VBA-Projekt habe ich ein UserForm mit einer Textbox. Ich brauche dieses Textfeld, um nur die Ziffern A-Z, a-z und die 27 hebräischen Buchstaben zu akzeptieren.

Private Sub my_TextBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (Not (KeyAscii > 47 And KeyAscii < 58))  And _          <= 0-9
(Not (KeyAscii > 64 And KeyAscii < 91))  And _          <= A-Z
(Not (KeyAscii > 96 And KeyAscii < 123)) And _          <= a-z
(Not (KeyAscii > 127 And KeyAscii < 155)) Then          <= Hebrew
KeyAscii = 8
Beep
End If
End Sub

Funktioniert gut außer dem Hebräischen.
Es erkennt ASCII 128 bis 154 nicht als Hebräisch (diese Werte finden sich in ASCII-Codepage 862).
Das heißt, wenn Sie versuchen, hebräische Buchstaben in das Textfeld einzugeben, wird ein Signalton ausgegeben.
Wie erkläre ich Excel, die ASCII-Codepage 862 zu verwenden?

Antworten:

0 für die Antwort № 1

Dirk Reichel gab mir die einfache Idee, zu debuggen und zu prüfen, was in my_TextBox hineingeht, wenn man ein hebräisches Zeichen darin eingibt.
So habe ich das gefunden das hebräische Alphabet in ASCII ist zwischen 1488 und 1514.
Mein Code ist jetzt:

Private Sub my_TextBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (Not (KeyAscii > 47 And KeyAscii < 58))  And _          <= 0-9
(Not (KeyAscii > 64 And KeyAscii < 91))  And _          <= A-Z
(Not (KeyAscii > 96 And KeyAscii < 123)) And _          <= a-z
(Not (KeyAscii > 1487 And KeyAscii < 1515)) Then        <= Hebrew
KeyAscii = 8
Beep
End If
End Sub

Jetzt erlaubt es auch Hebräisch.
Danke Dirk.