メインコンテンツへスキップ
Excel VBA Editorの挙動がおかしい時の対処方法

Excel VBA Editorの挙動がおかしい時の対処方法

·3 分
Programming VBA
かずさプログラマー
著者
かずさプログラマー
業務の作業自動化を行っています。Go、VBA、Pythonを主に使用しています。過去にはC#、VB.Net、JavaScriptも使用していました。
目次

最近はUiPath、Python、C#で業務の自動化を行うことが多いです。

久しぶりにExcel VBAでデータを整理するツールを作成しようとVBA Editorを起動したところ下記の2症状が発生しました。

  1. VBA Editor上で勝手にInsertモードになる
  2. VBA Editorでスペースキーを押してもスペースが入力できない

それぞれ色々試してみて問題が解決できました。

環境
#

  • Windows 10 Pro
  • Excel for Office 365

VBA Editor上で勝手にInsertモードになる
#

VBA Editorを操作していたところInsertキーを押してないのに勝手に上書きモードになってしまい、 入力がうまくできないことがありました。

そのときに試したのが以下の方法です。

レジストリを操作します。操作に関しましては自己責任でお願いします。
レジストリでInsertキーを無効にします。他のアプリケーションでもInsertキーが動かなくなるので注意してください。

Windows左下の検索欄にregeditと入力して、レジストリエディタを起動します。

ユーザーアカウント制御画面が表示されたら、「はい」をクリックします。

コンピューター\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout」を選択します。

右クリックして新規バイナリ値を選択します。

追加したバイナリ値の名前をScancode Mapに変更します。

Scancode Mapを右クリックして修正を選択します。

下記の値を入力します。

00 00 00 00 00 00 00 00
02 00 00 00 00 00 52 E0
00 00 00 00
説明
0x00000000 Header: バージョン情報 すべて0でセット
0x00000000 Header: フラグ情報 すべて0でセット
0x00000002 末尾のNull終端値を含むマッピング数(今回は2マッピング)
0xE0520000 Insertキーを無効化 (0xE052 –> 0x00).
0x00000000 Null終端値

バイナリ値の編集は下記を参考にしました。

キーボードInsertキーのスキャンコードは下記を参考にしました。

ビッグエンディアンからリトルエンディアンの変換例はこちらの設定例が参考になります。

レジストリエディタを閉じて、パソコンを再起動するとInsertキーが無効になります。
上記の方法でVBA Editorが勝手に上書きモードにならなくなりました。

VBA Editorでスペースキーを押してもスペースが入力できない
#

起動時はVBA Editor上でスペースキーが反応してくれるのですが、 途中から急にスペースキーを押してもスペースが入力できなくなりました。

Excelの自動保存機能を停止したところ、VBA Editorでスペースが入力できるようになりました。

参考サイト

関連記事

【VBA】マウスの座標を取得する
··3 分
Programming VBA
【VBA】ExcelからパスワードのかかっているAccessに接続する
·3 分
Programming VBA
【VBA】Excelファイルを開いた時にVBAを実行する
·2 分
Programming VBA