もくじ

taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
Functionプロシージャーについて1【Functionプロシージャーとは?】
おそらく我流でVBAを学んだ人はFunctionプロシージャーを知らない方も多いのではないでしょうか?
皆さんがマクロ/VBAを作成する場合多く目にするのは【Sub マクロ名()】から始まって【End Sub】で終わる【Subプロシージャー】を目にしていることかと思います。
そもそもFunctionとはどういう意味か?Function=関数という意味です。感覚として【自分の好きな関数を作成できる】というような考えでいいんじゃないかと考えています。
今日はFunctionの使い方を解説していきます。
Functionプロシージャーとは?
今回ご紹介するFunctionプロシージャーは【Function マクロ名()】から始まり【End Function】で終わります。
SubプロシージャーとFunctionプロシージャーの違いは【実行結果を呼び出し元に返す】と言われています。
ですが、今はそんなこと考える必要はありません。今回はどのように使うのかだけ考えましょう。
Functionの書式
Functionプロシージャーの書式はこのように書きます。
Function プロシージャ名(引数 As データ型) As 戻り値のデータ型 プロシージャ名 = 戻り値 End Function
これだけだとよくわからないですよね、実際にプログラムを組んでみましょう。
下記のような表の消費税計算をするプログラムを作成していきます。


Sub Sample() Dim i As Long Dim row As Long row = Cells(Rows.Count, 1).End(xlUp).row For i = 2 To row Cells(i, 2).Value = 税計算(Cells(i, 1).Value) Next i End Sub ’-----------Function-------- Function 税計算(税抜き As Long) As Long 税計算 = 税抜き * 1.08 End Function
このような形になります、解説は後にしてとりあえず実行結果を見ていきましょう。
実行結果


ちゃんと計算されましたね。では解説していきます。
Functionプロシージャーの解説
さてFunctionの使い方はこのようになりますが。上記のコードをもとに解説していきます。
まず初めにFunctionの書式から解説していきます。
Function プロシージャ名(引数 As データ型) As 戻り値のデータ型
プロシージャー名はいわば関数名です。今回は消費税計算するのでサンプルコードでは【税計算】としました。
Function 税計算(引数 As データ型) As 戻り値のデータ型
引数は呼び出し元(今回はSubプロシージャ)の値を引数として受け取ります、今回受け取る引数は税抜き金額の数値ですので引数は【税抜き】、引数のデータの型は【Long】にします。
Function 税計算(税抜きAs Long) As 戻り値のデータ型
そして戻り値のデータ型は、Subプロシージャーに返す値のデータの型です。
戻り値も税計算なので【Long】を宣言します。
※Longは四捨五入してくれる特性がありますが、もしこれをStringに変更すると結果が変わってきます。


このように小数点まで表示されました。
Function 税計算(税抜き As Long) As Long 税計算 = 税抜き * 1.08 End Function
では、計算方法を見ていきましょう。
税計算 = 税抜き * 1.08
この部分を日本語に直すと
Subプロシージャーに返す値(税計算)=Subプロシージャーから受け取った値(税抜き)×1.08
となります。
Subプロシージャーで別のプロシージャーを呼び出す場合はプロシージャー名を書いてあげればOKです。
Cells(i, 2).Value = 税計算(Cells(i, 1).Value)
書式は【税計算(引き渡し値)】となっております。
まとめ
何となくFunctionの使い方はご理解していただけましたか?今回のように簡単なプログラムだとあまりFunctionのありがたみがわかりにくいかもしれません。
今回はそれとなく使い方を理解していただければOKです、今後もう少しFunctionの使い方を掘り下げて解説していきますのでご期待ください。
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す