【ユーザ関数の作り方】
ANo.3の添付図は Excel VBA のユーザ関数 E( M, N , F, a , b , R , x , y ) で計算したものです。M は光源の横方向の分割数、N は光源の縦方向の分割数、F は光源の全光束(lm)、a は光源の横幅 (m)、b は光源の縦長さ (m)、R は光源までの距離 (m)、( x , y)は照度計算の位置 (m) です。以下の手順で VBAコード(マクロ)を作成して、ワークシートに =E( M, N , F, a , b , R , x , y ) と書くと照度の値が計算されます。
【 VBAコードの作成方法】
(1) Excelワークシートを新規に作成し、ALTキーを押しながら F8 キーを押す
(2) マクロ名の欄に E と書いて「作成」をクリック
(3) Visual Basicの編集画面の Sub E() と End Sub を削除して(全部空白画面にして)、回答No.3のVBAコードを貼り付ける( Sub Function E・・から End Function までの文章を コピー&ペースト すれば良い)
(4) 編集画面を閉じる(ALT+Q)
【マクロの実行方法】
M, N , F, a , b , R , x , y をセルの(相対)位置や数値として、ワークシートのセルに=E( M, N , F, a , b , R , x , y ) と書く。=E の前にスペースが入ると計算式でなく文字式として認識されてしまうので注意してください。添付図の例のように、セル C8 に
=E($E$2,$E$3,$C$5,$C$2,$C$3,$C$4,C$7,$B8)
と書いて、そのセルを他の全てのセルにそのままコピーすれば、引数を書き直さなくても済みます
【マクロの内容の変更方法】
(1) ALTキーを押しながら F8 キーを押す
(2) マクロ名の欄にマクロ名(e)を書いて「編集」をクリックし、内容を変更する
(3) 編集画面を閉じる(ALT+Q)
【セキュリティレベルの変更】
マクロを含むExcelファイルを開くとき、セキュリティレベルによってはマクロが実行できない場合があります。その場合、以下のように、セキュリティレベルを変更してください。
(Excel 98-2003の場合)
新規にワークシートを作成して、ツールバーの「ツール」→「オプション」→「セキュリティー」タブ→「マクロセキュリティー」→セキュリティーレベルの「中」または「低」の選択→OK→OK→Excel終了→マクロを含むExcelファイルを開く
(Excel 2007の場合)
新規にワークシートを作成して、左上隅の丸(Officeボタン)をクリック→下端の「Excelのオプション」を選択→左側の「セキュリティーセンター」を選択→右下の「セキュリティーセンターの設定」をクリック→左側の「マクロの設定」をクリック→「すべてのマクロを有効にする」を選択→OK→OK→Excelの終了(保存しない)→マクロを含むExcelファイルを開く
お礼
わかりやすい回答ありがとうございます。 計算してみます。