
No.2ベストアンサー
- 回答日時:
InputBox を使う場合は、
1. IME 操作系 API を使う方法(省略)
2. 入力規則(Validation)を使う方法
が思いつきます。両方結構面倒かも。2.の例です。
Sub Sample()
Dim lBackup As XlIMEMode
Dim bNoValidation As Boolean
Dim sPasskey As String
' // 英数モードにする
With ActiveCell.Validation
' // あとで設定を戻せるように現在の入力規則-IMEモード
' // の値を退避. Validation が設定されていなければ、
' // 一時的に設定
On Error Resume Next
lBackup = .IMEMode
If Err Then
On Error GoTo 0
.Add xlInputOnly
bNoValidation = True
End If
On Error GoTo 0
.IMEMode = xlIMEModeDisable ' 又は xlIMEModeAlpha
End With
' // パスワード関係処理(エラー処理等略)
sPasskey = InputBox("Passkey?")
' // IME の設定を戻す
With ActiveCell.Validation
If bNoValidation Then
.IMEMode = xlIMEModeOn
.Delete
Else
.IMEMode = lBackup
End If
End With
End Sub
でも、Userform の Textbox を使った方が簡単なのでは?
この回答への補足
詳しい解説、ありがとうございます。
上記のサンプルをそのまま動作させるとうまくいくのですが、
既存のコードに挿入させると
If Err Then
On Error GoTo 0
.Add xlInputOnly
bNoValidation = True
End If
↑で必ずエラー処理に入ってしまいます。
考えられる理由は何でしょうか……?
すみません、補足の訂正です。
.Add xlInputOnly
bNoValidation = True
上記2行の処理に入らず、
End If
まで飛ばされてしまいます。
なぜでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルを添付するときにパ...
-
Excelのセルにユーザー名...
-
メールを返信したら、英語のメ...
-
Steamのアカウントにログインで...
-
pixivで新規登録しようと思い、...
-
pixivでロム専・登録したばかり...
-
sageがついてるメールアドレス
-
「@」(アットマーク)の無いメ...
-
カカオで退会せずに、アプリだ...
-
~@live.jpのメール受信につい...
-
ユニクロやGUのシフト管理アプ...
-
不正ログインされました。対応...
-
Excelを開くと、上画面に「サイ...
-
メールアドレスで上付きのハイフン
-
携帯電話を解約してもSMSの受信...
-
メールアドレスを人に教えるの...
-
韓国人アドレスnaver.com
-
runas実行した時にきかれるパス...
-
ワードに入力したメールアドレ...
-
メールアドレス 上バーの入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不正ログインされました。対応...
-
Excelのセルにユーザー名...
-
CSVファイルを添付するときにパ...
-
インスタの乗っ取り解除につい...
-
Steamのアカウントにログインで...
-
メールを返信したら、英語のメ...
-
verify@twitter.comから、メー...
-
ユニクロやGUのシフト管理アプ...
-
カカオで退会せずに、アプリだ...
-
pixivで新規登録しようと思い、...
-
YouTubeが毎回ログインしないと...
-
「そのメールアドレスはすでに...
-
「@」(アットマーク)の無いメ...
-
runas実行した時にきかれるパス...
-
インスタのアイコンについてるN...
-
携帯電話を解約してもSMSの受信...
-
インスタの捨て垢で友達のスト...
-
Excelを開くと、上画面に「サイ...
-
Twitterの こうしたアク...
-
メールアドレスを人に教えるの...
おすすめ情報