- 締切済み
【Excelマクロ】日本語入力OFF
セルの高さを変更することが多々あり、クイックアクセスツールバーに行の高さコマンドを出してありますが、請求書などのフォーマットは行数が決まっているのでマクロを利用しています。 しかし、毎回入力モードを切り替えなければならず、これが結構面倒です。 fmIMEModeOffを使用することは分かりましたが、どのように組み込めばいいのか分かりません。 Sub 高さ指定() Range("11:100,102:104").Select Selection.RowHeight = InputBox("セルの高さ入力(15~30)") End Sub よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
SendKeys を使うと動作が安定しないことは 経験的にも珍しくありません。 私だったら、InputBoxを使わず 高さを得るためのFormを用意し、TextBoxを配置します。 これであれば、TextBoxに対してIMEの設定を行うことができます。 InputBoxを使いたいということであれば、 例えば、適当なセルに入力規則の日本語入力タブでIMEの設定 (オフに設定)を行い VBAでは、 このセルを選択してからInputBoxを呼び出す というアイディアはいかがでしょうか
- kkkkkm
- ベストアンサー率66% (1734/2604)
> 一体何なんでしょう? わかりません。 回答のどちらのコードを実行したのか知りませんが、両方ともそのようになるのでしょうね。
お礼
何度もご回答ありがとうございました。 当方かな入力なのですが、勝手にローマ字入力に切り替わってしまうことも判明しました。 やはり元のマクロを使用することにします。 お手数をお掛けしました。
- kkkkkm
- ベストアンサー率66% (1734/2604)
> 日本語入力OFFにはできるものの、高さが変わらないのです。 質問のコードで高さが変わりますが、参考にしたQ&Aの回答のコードを利用したのなら MsgBox "IME-OFF with SendKey :" & Ret を Range("11:100,102:104").RowHeight = Ret にすればいかがですか。
お礼
再度のご回答ありがとうございました。 う~~ん・・・できたと言えばできたのですが、不思議な現象が起きます。 ①日本語入力OFFの状態 → 正常 ②日本語入力ONの状態 → 日本語入力OFFにはなるが、同時にNumLockとCaps LockもOFFになってしまう ②はNumLockをONにすれば正常に動きますが、結局は手間がかかります。 これでは意味がありません。 ただ、何回か繰り返すと②でも正常に動くこともあります。 一体何なんでしょう?
- kkkkkm
- ベストアンサー率66% (1734/2604)
こちらに同じQ&Aがありますので参考にしてください。 excelのInputBoxで日本語入力OFFにしたい https://okwave.jp/qa/q2008661.html
お礼
ご回答ありがとうございました。 情報不足で申し訳ありません。 それらのリンク先は確認済です。 日本語入力OFFにはできるものの、高さが変わらないのです。 具体的にVBAを記載していただけると幸いです。
お礼
ご回答ありがとうございました。 別アイデアの提示ありがとうございました。 そこまでしてマクロにこだわる内容でもありませんので、元のマクロを使用することにします。