エクセル2007でツールバーのようなものを作ってみた
エクセル2007ではツールバーがなくなってしまったようなので
代わりになるようなものを作ってみた
ボタンを押すと登録してあるマクロが動く
今回は選択範囲の日本語入力をオフにするマクロの場合
初期設定だとマクロを作成するボタンは非表示になっているので
表示する設定にする
エクセルのオプション→基本設定→開発タブにリボンを表示するに
チェックを入れる
関係ないけど設定画面眺めていたらマルチスレッドの設定もあった
2007ですでに対応していたんだなあ
これを知っていれば買った当時に移行していたのにw
開発タブが表示されるようになったのでここから
マクロの記録
他のブックでも追加したいマクロを作るときは
個人用マクロブックを指定、OK押して記録開始
適当なセル範囲を選んで
マクロ記録を終了して
記録したマクロを編集
開発タブ→マクロ、記録したマクロを選択して編集で
VBAが起動
この辺りは2000と同じだなあ
必要なのは
.IMEMode = xlIMEModeOffだけかと思ったけど
.Deleteと.Addのところをコメントアウトしたらエラーになったので
この3つを残してほかはコメントアウトしてみた
でもやっぱりこの作業はいらないか
あとはマクロの名前をわかりやすく
選択範囲のIMEオフ
にした
ユーザーフォーム(ウィンドウ)を作る
こんなかんじの画面が出てきて
フォームの大きさを適当に変えて
マクロを登録するボタンを作って
ボタンにさっき作ったマクロを登録するには
ボタンを右クリックからのコードの表示
またはボタンをダブルクリックでコードの表示
さっき作ったIMEオフのマクロの作成場所は
個人用マクロブック(PERSONAL.XLSB)で
別のブックのマクロを呼び出すことになるから
呼び出すときはCallではなくてApplication.Runっていうのを使うみたい
最初はCallで書いてエラーになって
ググったらこうだった
Application.Run "PERSONAL.XLSB!選択範囲のIMEオフ"
これを書けばボタンへのマクロの登録は完了
次はこのフォームを呼び出すマクロの作成
フォームを開くマクロは別のモジュールに書いたほうが
いいかなと思っていて
マクロの名前はフォーム表示にした
Sub フォーム表示()
UserForm1.Show (vbModeless)
End Sub
これでフォームを呼び出すマクロ完成
次はこのフォームを呼び出すマクロを呼び出す(実行する)ボタン作成
呼び出してばっかりだなあ
クイックアクセスツールバーを右クリックでカスタマイズ
コマンドの選択からマクロを選択
さっき作ったマクロの「フォーム表示」を追加
これで全て完了
アイコンの変更
作成されたボタンをクリックするとフォームが表示される
表示される位置は指定していないのでエクセルのウィンドウの
中央に表示されるみたい
どこにでも移動できるので
これでマクロを実行するのにわざわざマウスを画面の上まで
移動する必要がなくなった
セルを右クリックした時に出てくるスマートタグっていうのかな
これが便利でこれにマクロを登録できたら更に便利なんだけど
できたりするのかな
エクセル2007といい時間がずれているなあ
新しいのはWindowsだけだな