[VBA] 商と余りを返す関数 (DIVISION, DIVARRAY)

 整数 a, b を入力し、a ÷ b を計算して 商と余りを返す関数 を作ってみます。ユーザー定義定数(構造体)を用いる関数と、配列を使用する関数の両方を載せておきます。

商と余りを返す DIVISION関数

 ユーザー定義定数(構造体)を用いる DIVISION関数のコードです。
 宣言セクションで商・剰余型変数を定義しておきます。

 Option Base 1

 '商・剰余型変数の定義
 '(C)BlogCat http://excelmath.atelierkobato.com/quotient/

 Type QR
  qot As Long
  rmd As Long
 End Type

 '商と余り(構造体)

 Function DIVISION(a As Long, b As Long) As QR

 DIVISION.qot = a \ b
 DIVISION.rmd = a Mod b

 End Function

 この関数を呼びだすときは

DIVISION(数値,除数)

の形で記述します。以下に使用例を載せておきます。

 Sub DIVISIONtest()

 Dim k As QR

 k = DIVISION(217, 5)

 Debug.Print k.qot, k.rmd

 End Sub

 このマクロを実行すると 217 ÷ 5 を計算して商と余り

 43   2

を表示します。
 

商と余りを返す DIVARRAY関数

 配列を用いて商と余りを計算する関数のコードです。

 '商と余り(配列)
 '(C)BlogCat http://excelmath.atelierkobato.com/quotient/

 Function DIVARRAY(a As Long, b As Long)

 Dim q As Long, r As Long

 q = a \ b
 r = a Mod b

 DIVARRAY = Array(q, r)

 End Function

 ワークシートでこの関数を使うときは横に2つのセルを同時選択した状態で

=DIVARRAY(数値,除数)

と入力し、[Ctrl] + [Shift] + [Enter] で確定してください。たとえば下の図のように

=DIVARRAY(7,2)

と入力すると、商 3 と余り 1 が返ります。

 VBA商と余りを返す関数
 ≫ VBA 数値計算

スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください