/ / excel vba перевірте на івриті текст введений, використовуючи клавішу keyascii - excel, vba, keypress, іврит, розширений ascii

Excel VBA перевіряє наявність іврит у введеному тексті, використовуючи клавіші keyascii - excel, vba, keypress, hebrew, extended-ascii

У моєму проекті Excel-2013 VBA у мене є UserForm з текстовим полем. Мені потрібен цей текст, щоб приймати лише цифри, A-Z, a-z і 27 івритських літер.

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

Працює відмінно, крім івриту.
Він не розпізнає ASCII 128 через 154 як іврит (ці значення знаходяться на сторінці коду ASCII 862).
Тобто, намагаючись набрати івритські літери в текстовому полі, з'являється звуковий сигнал.
Як я можу сказати Excel, щоб він використовував сторінку коду ASCII 862?

Відповіді:

0 для відповіді № 1

Dirk Reichel дав мені просту ідею налагодження і перевірки того, що входить до my_TextBox при введенні в нього івритського символу.
Ось як я це знайшов єврейський алфавіт в ASCII знаходиться між 1488 і 1514 роками.
Тепер мій код:

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

Тепер він також дозволяє івриті.
Спасибі, Дірк.