• 締切済み

【Excelマクロ】日本語入力OFF

セルの高さを変更することが多々あり、クイックアクセスツールバーに行の高さコマンドを出してありますが、請求書などのフォーマットは行数が決まっているのでマクロを利用しています。 しかし、毎回入力モードを切り替えなければならず、これが結構面倒です。 fmIMEModeOffを使用することは分かりましたが、どのように組み込めばいいのか分かりません。 Sub 高さ指定() Range("11:100,102:104").Select Selection.RowHeight = InputBox("セルの高さ入力(15~30)") End Sub よろしくお願い致します。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

SendKeys を使うと動作が安定しないことは 経験的にも珍しくありません。 私だったら、InputBoxを使わず 高さを得るためのFormを用意し、TextBoxを配置します。 これであれば、TextBoxに対してIMEの設定を行うことができます。 InputBoxを使いたいということであれば、 例えば、適当なセルに入力規則の日本語入力タブでIMEの設定 (オフに設定)を行い VBAでは、 このセルを選択してからInputBoxを呼び出す というアイディアはいかがでしょうか

KO1014
質問者

お礼

ご回答ありがとうございました。 別アイデアの提示ありがとうございました。 そこまでしてマクロにこだわる内容でもありませんので、元のマクロを使用することにします。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.3

> 一体何なんでしょう? わかりません。 回答のどちらのコードを実行したのか知りませんが、両方ともそのようになるのでしょうね。

KO1014
質問者

お礼

何度もご回答ありがとうございました。 当方かな入力なのですが、勝手にローマ字入力に切り替わってしまうことも判明しました。 やはり元のマクロを使用することにします。 お手数をお掛けしました。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.2

> 日本語入力OFFにはできるものの、高さが変わらないのです。 質問のコードで高さが変わりますが、参考にしたQ&Aの回答のコードを利用したのなら MsgBox "IME-OFF with SendKey :" & Ret を Range("11:100,102:104").RowHeight = Ret にすればいかがですか。

KO1014
質問者

お礼

再度のご回答ありがとうございました。 う~~ん・・・できたと言えばできたのですが、不思議な現象が起きます。 ①日本語入力OFFの状態 → 正常 ②日本語入力ONの状態 → 日本語入力OFFにはなるが、同時にNumLockとCaps LockもOFFになってしまう ②はNumLockをONにすれば正常に動きますが、結局は手間がかかります。 これでは意味がありません。 ただ、何回か繰り返すと②でも正常に動くこともあります。 一体何なんでしょう?

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.1

こちらに同じQ&Aがありますので参考にしてください。 excelのInputBoxで日本語入力OFFにしたい https://okwave.jp/qa/q2008661.html

KO1014
質問者

お礼

ご回答ありがとうございました。 情報不足で申し訳ありません。 それらのリンク先は確認済です。 日本語入力OFFにはできるものの、高さが変わらないのです。 具体的にVBAを記載していただけると幸いです。

関連するQ&A

専門家に質問してみよう