146:マクロ素材 ファンクションを使った計算式

130:マクロ素材

subではなく、Function()を使ったマクロをご紹介いたします。もっとも簡単な例を紹介します。計算式で帰ってくるものは、一つであることを認識してください。

構文

subマクロの中で、計算式に渡す数字を Functionで引き渡し、結果をsubマクロに戻す内容となってます。

変数の設定

私は、マクロが動くことが重要であったので、変数の形の定義を今までしてきませんでしたが、この場合には、変数の定義が必要でした。この説明はするつもりはなかったのですが、残念です。

Dim の次に変数を入れて、As を挟んで、変数の種類を入れます。

Dim 変数 As データの型(種類)

データの型(種類)

Integer整数型-32,768 ~ 32,767
Long長整数型-2,147,483,648 ~ 2,147,483,647
Single単精度浮動小数点数型-3.402823E38 ~ -1.401298E-45(負の値)
1.401298E-45 ~ 3.402823E38(正の値)
Double倍精度浮動小数点数型-1.79769313486232E308 ~ -4.94065645841247E-324(負の値)
4.94065645841247E-324 ~ 1.79769313486232E308(正の値)
String文字列型最大約20億文字まで
Date日付型西暦100 年1月1日~西暦9999年12月31日までの日付と時刻
Objectオブジェクト型オブジェクト

Sub 数字を2倍にして返す()
'ファンクションを使ったマクロ
'A1に入れた数字を、B2に2倍にして返す。
'元の数字変数を、数字であると定義
    Dim 元の数字 As Integer
    
    元の数字 = Range("A1").Value
    
    結果 = 計算(元の数字)
        
    Range("B1").Value = 結果

End Sub

Function 計算(元の数字 As Integer)
'ここで、計算式を定義する。
計算 = 元の数字 * 2
    
End Function

上記の説明

Dimで「元の数字」は、整数と定義しました。

A1セルに入っている数字を、変数「元の数字」に入れました。

計算という Functionに飛んでおります。この時に変数「元の数字」をいっしょに持って行ってます。

Functionでは、元の数字を2倍して、変数「計算()」に入れて、返します。

変数「計算()」は、変数「結果」に引継ぎ、

B1に変数「結果」の内容を入れて、終了です。

コメント

タイトルとURLをコピーしました