[VBA]Excel2010で作ったマクロが2016で動かない…のを修正

超概要

  • ProgressBarコントロールのオブジェクト参照でエラー
    • →ProgressBarコントロールがフォームから消されていたのでオブジェクト参照エラーが発生 していたので、フォームに改めてProgressBarコントロールを追加して配置
  • LCaseでコンパイルエラー
    • →プロジェクト参照設定で参照不可になっていたライブラリを参照から外した

まとめ

Excelのバージョンを上げてVBAが使っているライブラリのバージョンが変わると、古いライブラリへの参照から消えることがあるらしい。マイクロソフトが新しいライブラリに互換性のない拡張をした場合に、古いマクロが誤動作しないようにわざと参照が消えるようにしているというのが真相のようだ。
今回はProgressBarコントロールとLCaseが入っていたライブラリがそれの対象になったと言うことなんでしょうね。

参照情報

  • ProgerssBarの配置 → http://www.h3.dion.ne.jp/~sakatsu/ProgressBarTopic.htm
  • VBA標準関数でコンパイルエラー → https://www.moug.net/tech/exvba/0150128.html
Posted in VBA

コメントを残す