Vba-sub-procedure

提供:Dev Guides
2020年6月23日 (火) 00:49時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

VBA-サブ手順

  • サブプロシージャ*は関数に似ていますが、いくつかの違いがあります。
  • サブプロシージャは値を返しませんが、関数は値を返す場合と返さない場合があります。
  • サブプロシージャは、callキーワードなしで呼び出すことができます。 *Subプロシージャは、常にSubおよびEnd Subステートメントで囲まれます。

Sub Area(x As Double, y As Double)
   MsgBox x* y
End Sub

呼び出し手順

スクリプトのどこかでプロシージャを呼び出すには、関数から呼び出しを行うことができます。 サブプロシージャは値を返さないため、関数と同じ方法を使用することはできません。

Function findArea(Length As Double, Width As Variant)
   area Length, Width    ' To Calculate Area 'area' sub proc is called
End Function

これで、次のスクリーンショットに示すように、サブプロシージャではなく関数のみを呼び出すことができます。

VBAのサブプロシージャ

面積が計算され、[メッセージ]ボックスにのみ表示されます。

VBAのサブ領域2を計算

関数から面積値が返されないため、結果セルにはZEROが表示されます。 つまり、Excelワークシートからサブプロシージャを直接呼び出すことはできません。

VBAのサブ領域3を計算