いくつかの数字を比較して最も大きい数字を返すような関数ってありますか?
Excelが利用できるなら、WorksheetFunction.Maxを使うとか。
'324が返される。
X = CreateObject("Excel.Application").WorksheetFunction.Max(18, 10, 324, 12, 5, 203)
あるいは、データベースに接続しているなら、SUM関数を呼び出すとか、
.NETなら、System.ArrayクラスのSortメソッドを使うとか。
自分でつくったら?
Option Explicit
Private Sub Command1_Click()
Dim a
a = Array(5, 2, 4, 6, 3)
MsgBox lMax(a)
End Sub
Private Function lMax(a) As Long
Dim buf As Long
Dim i As Long
buf = a(0)
For i = 0 To UBound(a)
buf = IIf(buf > a(i), buf, a(i))
Next
lMax = buf
End Function
ツイート | ![]() |