【VBA】インプットボックスを開いた時に日本語入力ができる設定

エクセルで開いた「インプットボックス」に初めから「日本語入力を設定」を自動化するVBAを紹介します。

どんな不便がありますか。

インプットボックスを開いた時の初期設定は半角英数ですので、都度日本語入力に設定する手間があります。

ちょっとしたことのように思うけど、その手間が無いと便利なのですか。

日本語が入力出来ると思い込んでタイピングする

英数入力であることに気がつく

バックスペースで入力した文字を消す

日本語入力に設定する

さて、どうですか?

これはありえることだし、毎回となるとストレスですね。

これから紹介するVBAではインプットボックスを開くたびに日本語入力に設定し直す手数が省略できます。

目次

インプットボックスを日本語入力設定で開くVBA

Sub インプットボックスを開く()

Dim Name As String

With Workbooks.Add
   With ActiveCell.Validation
        .Add Type:=xlValidateInputOnly
        .IMEMode = xlIMEModeOn
    End With

    Name = InputBox(“メッセージ”, “ウインドウのタイトル”, “初期値”)
    .Close SaveChanges:=False
End With

End Sub

解説

インプットボックスを開いた時に日本語入力を設定する

新しいワークブックを開く
アクティブセルの入力規則を設定する
全ての値
IMEモードをオンにする
セルの設定を終える

Nameにインプットボックスの入力値を格納する
新しいワークブックを保存せずに閉じる

ブックの設定を終える

新しいワークブックを開かなくてもこのマクロは有効に動きますが、マクロ実行時、アクティブセルの設定によりAdd Typeでエラーになる場合があります。

また、意図せずアクティブセルの設定が変わってしまいますので、新しいブックを開いて閉じるという方法をお薦めします。

新しいワークブックを開かずに行うVBA

Sub インプットボックスを開く()

Dim Name As String

With ActiveCell.Validation
    .Delete   ’書式設定を削除
    .Add Type:=xlValidateInputOnly
    .IMEMode = xlIMEModeOn
End With

Name = InputBox(“メッセージ”, “ウインドウのタイトル”, “初期値”)

End Sub

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

この記事を書いた人

子育てに奮闘しながらも、再びガッツリ走り込める日を夢見るフルタイム会社員。

コメント

コメントする

CAPTCHA


目次
閉じる