Excel VBAの検索で入力した文字列が文字化けする
はじめに
業務でExcel VBAを使っているんですが、性能改善のためコード解析することになりました。
そのExcel VBAで突然検索ができなくなるという謎の現象が発生!
不可解な現象にはやっぱり「アレ」が効くよ、というのが今回のお話。
結論
キー名 : HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
名前:QFE_17407
種類:DWORD
データ: 1
経緯
Excel VBAで文字列検索しようとしたところ、なぜか入力した文字が化ける!
入力時点では正しい文字なのに、確定した瞬間に全く違う文字に変わってしまう!
例えば、検索文字が「検索」ならば「訣」、「処理」ならば「女」になってしまう!
正直今までに見たこともない現象であり、解決は難しいかと思われましたが、調べてみると、Microsoftのサポート情報に解決法がありました。
Visual Basic エディタの検索ダイアログで文字が正常に表示されない
Excelのバージョンによってレジストリの設定値が若干異なるようですね。
ちなみにAccessでも同様の現象が発生するようです。
というわけで、この謎の現象も無事解決できました。めでたしめでたし。
まとめ
解決はしたものの、なぜ発生したのかは結局分からずじまいでした。
ただ、ランチャーソフトなどをインストールすると発生することがあるようですね。
ExcelVBAの検索の文字列入力の際の変換文字化けの改善法- オフィス系ソフト | 教えて!goo
でも、そんなの入れた覚えないんですけどね。
直ったから良いですが、突然発生するとかなり面喰いますね。