MACでマクロが開かない
Win10環境で作成したVBAマクロファイルをMacPCで開いた所、
【このブックには、このバージョンの excel でサポートされていない内容が含まれています。】
というエラーメッセージが表示され、マクロ実行出来ない状態でファイルが開かれました。
原因はActiveXコントロール形式でシートに配置したボタン
ActiveXコントロール形式で配置していたボタンを、フォームコントロール形式のボタンに置き換えた結果、MAC環境でもVBAマクロファイルを開き、マクロ実行する事が出来るようになりました。
※ActiveX形式のオブジェクトは、MAC環境には対応していないようです。
MAC環境での利用が想定される場合、ユーザーフォームの使用も控えた方がよさそうです。
ActiveXとフォームコントロールの違いについて
■フォームコントロールのメリット
- VBAコードを記述しなくてもボタンにマクロ登録できるため、初心者でも作業の自動化を行う事が出来る
- MAC環境でも、ボタン配置したマクロファイルを開く事が出来る
■ActiveXのメリット
- ボタン色や陰影など、オブジェクトの見た目をリッチに作りこむ事が出来る
(フォームコントロールでは文字のフォント変更のみ編集可能) - ボタンプロパティを編集する事で、様々な操作の制御を行う事が出来る
一例として”Enabled”プロパティを”False”に変更すると、ボタンをクリック出来ない状態にすることが出来ます。
「特定セルの値が変更したタイミングで”Enabled”プロパティを”True”に更新して、ボタンをクリック出来る状態にする」というような機能制御を行う事が可能です。
まとめ
- 不特定多数の作業環境での利用が想定される場合は「フォームコントロール」を使用
- 作業環境が限定されていて、様々な制御を行いたい場合は「ActiveX」を使用
というようにシーンに応じて機能を使い分けられるとよいのではないでしょうか。