Excel2013 for Win. で「ユーザー定義関数」を作成する!
 
こんばんは、アタルです。

Excel2016 for Mac でも動作しますが、[Alt] + [F11] にてVBE (VisualBasicEditor) を開いて該当コードを見ようとするとExcelが異常終了します。

約束通り、「階乗」と「階和」のVBAコードをUPします。
ついでに、Excel2013 for Win. で作成した「ユーザー定義関数」が Excel2016 for Mac でもきちんと動作するかテストしました。
Excel (VBA) の利点の中には、Function プロシージャで記述可能な「ユーザー定義関数」が簡単に作成でき、ワークシートから利用可能な点があります。 

趣向を変え、「階乗」のVBAコードは「再帰呼び出し」を利用して記述してみました。
C言語のように、 VBA でも再帰関数が記述できますよ。
再帰呼び出し とは、関数内で自分自身を呼び出す処理のこと)
「最後は再帰呼び出しではなく、値のみを返すコード」を記述しておかないと、無限ループに陥るので注意してください。

Office2013 for Win. は、MacBook 12インチ のBootCamp環境上の Windows10 Enterprise で、
Office2016 for Mac は、Mac mini  Late 2014 で実行しました。
続いて、テストコードとその実行画面を載せます…
  「広告」  
 


キャプチャ
再帰呼び出しを利用して記述した「階乗」VBAコード(Excel関数 FACT(n) をVBAで実装)

キャプチャ2
「階和」VBAコード。公式利用だと、test_function2 = n * (n + 1) / 2  の1行のみで記述可。

38
Excel2016 for Mac の実行例 (1) 
赤枠内で確認できる通り、Excel2016 for Mac のワークシートからも「ユーザー定義関数」を利用可能。


41
Excel2016 for Mac の実行例 (2) 
赤枠内で確認できる通り、Excel2016 for Mac のワークシートからも「ユーザー定義関数」を利用可能。


09
Excel2016 for Mac の実行例 (3) 
「ユーザー定義関数」の結果と、ExcelのFACT(n)関数の結果が等しいことを、赤枠内で確認。


ファイル保存は、 OneDrive 上に行っています。
Excel2013 for Win. で作成した「ユーザー定義関数」は問題なく Excel2016 for Mac でも動作します!

このように Excel2013 for Win. で作成した「拡張子xlsm」のファイルをMac上でダブルクリックすると、Excel2016 for Mac が起動しVBAコードも動作しますが、[Alt] + [F11] にてVBE (VisualBasicEditor) を開いて該当コードを見ようとすると Excel2016 for Mac が異常終了します。

  「広告」  
最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル


  「広告」