/ / excel vbaは入力されたテキスト中のヘブライ語をkeypress keyasciiでチェックします - excel、vba、keypress、hebrew、extended-ascii

キーストレスを使用して入力されたテキストのヘブライ語の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を使用するように指示する方法

回答:

回答№1は0

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

今ではヘブライ語も使えます。
ありがとう、Dirk。