いまさらながらExcel VBA

仕事でExcelでビット論理演算関数が使いたいと思ったのだが、それらしい関数がない。探してみたら、Excel 2013には一部関数が組み込まれているものの、古いバージョンには無いとのこと。そこで、自分で関数定義できないのかと調べたら、"user defined function"がすぐヒットした。VBAで作れるとのこと。サンプルプログラムもあったので早速試してみた。

試行錯誤の末、なんとか使える BitOr や BitAnd などを作成したのだが、そのシートを保存して開いたときに、問題が起きた。

ユーザー定義関数の評価結果が"#NAME?"と表示されるようになってしまった。この解決にはまたまた長いこと時間がかかってしまった。

原因は、Excelの設定が「警告の表示なしに全てのマクロを無効にする」になっていたからであった。そのため、何の警告もなしに、ユーザー定義関数の評価ができなかったのだった。何の警告も出なかったので解決までに時間がかかってしまった。

コメント

このブログの人気の投稿

Gbps でなく GT/s

HCSLに33オームの直列抵抗が必要な理由

PowerShellによるExcel/PowerPointの操作