執筆:EugeneAmnis
Excel 2019 for Mac でのユーザーフォーム
ユーザーフォームを利用するとユーザーの利便性が高まるだけでなく、Excel の誤った操作での不具合を減らす事のできる有益な機能のひとつです。更に VBA でしか作成できない事もあり、VBA のステップアップの目安にもなります。しかし、Excel 2016 for Mac ではユーザーフォームの作成機能が失われました。今回は Excel 2019 for Mac でユーザーフォームがどのような扱いになっているかを説明します。
また、 Excel 2011 for Mac で公式ではユーザーフォーム上のイメージコントロールが利用できるとされていたのにできなかった問題がどうなっているかも説明します。
ユーザーフォームは作成不可
結果から言いますと Excel 2019 for Mac でもユーザーフォームの起動とコードの編集はできますが、作成機能は失われたままです。Windows版で作成したユーザーフォームを VBE で開いてみると、ユーザーフォームを選択してもプロパティが表示されません。
ツールパレットも選択不可になっています。
ファイルのエクスポートは可能です。Windows版でインポートできるかはまだ検証してません。
ユーザーフォーム上のイメージコントロール
検証用にWindows版で作成したユーザーフォーム上のイメージコントロールは以下の3つです。
- ラベルに LoadPicture で動的に表示
- イメージコントロールの Picture属性に直接設定
- イメージコントロールに LoadPicture で動的に表示
windows版での表示
フォーム上のコード
Private Sub UserForm_Initialize()
Dim path As String
path = ThisWorkbook.Worksheets(3).Range("B4").value
LabelImage.Picture = LoadPicture(path)
Imagecode.Picture = LoadPicture(path)
ImageForm.Repaint
End Sub
パス
Mac版での結果
条件 2.イメージコントロールの Picture属性に直接設定 のみ成功しました。他はある意味で Excel for Mac の伝統を引継いだようです。たまたまかもしれませんが、全てでアクセス権の付与作業も表示されませんでした。もしかしたら内部でコピーを保持しているのでしょうか?
LoadPicture(path) はエラーにはなりませんが、読み込めませんでした。
Excel 2019 for Mac でユーザーフォームを扱うのはかなり難しい事がわかりました。ユーザーフォーム2でも言及していますが、Windows版で作成したユーザーフォームはマージンを多く取っていないものは Mac で動かした際、不具合が出る場合が多いです。ツールパレットやプロパティが表示されない以上、両 OS で動くコードを書く際は手直しを Windows、デバッグを Mac と交互に作業をする手間が増える事が予想されます。
Contact and Tags
excel フォーム データ入力 vba Mac Excel for Mac