執筆:EugeneAmnis
Excel for Mac VBEの日本語入力時のキャレットズレ解消法
大変長い間、Excel for MacのVBEで日本語を入力するとキャレットがずれる現象が発生していました。これはExcel 2011 for Macからある根深い問題でしたが、かなり簡単に解消できることがわかりました。
キャレットズレ
Excel 2011 for Macから実装された当時待望のVBEでしたが、英語と日本語が共存する環境ではキャレットのズレが発生し、望んだ箇所の文字修正ができないというもどかしいを超えて、運用を諦めかねない現象がありました。このキャレットズレはExcel 2016、Excel2019と脈々と受け継がれて、Excel for MacのVBAプログラマたちを悩ませてきました。最近のExcel2021は購入していないので挙動がわかりませんが、このサイトのアクセス状況を見ると似たような現象が発生しているのかもしれません。
今までは「前に比べれば・・・。」、「選択状態にして・・・。」とお茶を濁す記事ばかりで逃げてきましたが、つい先日ネットで調べ物の最中にVBEのキャレットズレの恒久的な解決方法を見つけたので備忘録として記します。
尚、参考にしたサイト様はこちらです。ありがとうございます。
等幅フォント
答えはズバリ等幅フォントを設定することです。通常、ワードやエクセルを利用する際に使うフォントはプロポーショナルフォントと呼ばれ、見やすさとデザイン性から文字によってフォントの幅が一定ではなく最適化されています。これによりデザイン性の高い制作物が出来上がるわけです。
では等幅フォントはなんの為にあるのかと言えば、まさしくプログラミングの為です。今はAIが勝手にコーディングしてくれるのが流行っていますが、基本的にプログラミングは一度、プログラマの頭の中で動きをイメージする必要があります。その時に当たり前にコードを読むのですが、通常私達が使う自然言語よりプログラミング言語は読みづらい、且つ文字一つの読み違いが致命的になりかねない。という特性を持っています。
それ故にタブやスペースを使ってコードをブロック化し、読みやすさを向上させています。この際、幅が一定ではないプロポーショナルフォントを使用してしまうとブロックがズレてしまい、読みづらくなってしまいます。
VBEの設定方法
VBEでフォントの設定方法は、VBEを開いたうえでメニューバー > Excel > 詳細設定 > 一般の設定からフォントを等幅フォントに切り替えるだけです。
等幅フォントがわからない方はMS Gothicを選んでしまえば問題ありません。外部フォントを使用する場合はMacのフォントブックに追加した上でフォントを選べば良いだけです。ただし、理由はわかりませんが、選択しても設定できずにsystem fontに戻る場合があります。この場合は他のフォントを選ぶ必要があります。
もう長くプログラミングをしていて等幅フォントも利用しているのに初めて使い始めた開発環境であるVBEで等幅フォントを使うという問題解決を一度も試さなかった自分が恨めしいです。