• ベストアンサー

配列に中で一番小さい値を教えてくれる関数ありませんか/アクセス、VBA

Dim Arry(10) As integer この配列 Arry(1,2,3,4...) の中で一番小さい値は何番目の値は何か 知る関数なんか、ありませんか

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.4

Excelのワークシート関数を使う超手抜き関数です。 (^_^;) Function K() As Integer Dim ObjXL As Object Dim arrayVal(2) As Integer arrayVal(0) = 10 arrayVal(1) = 5 arrayVal(2) = 8 Set ObjXL = CreateObject("Excel.Application") K = ObjXL.Application.WorksheetFunction.Min(arrayVal()) Set ObjXL = Nothing 'Debug.Print Excel.Application.WorksheetFunction.Min(arrayVal()) 'Microsoft Excel ○○ Object Library に参照設定がしてあれば↑だけでも End Function まじめに考えたいときは [VB] ソートのアルゴリズム http://support.microsoft.com/default.aspx?scid=kb;ja;169617

maaaa
質問者

お礼

あありがとうございました

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

アクセスは触ったことないですが、エクセルのワークシート関数を使わなくても最小値はVBAでとれます。(エクセルVBAしか知りませんが) saisyo = Arry(LBound(Arry())) For i = LBound(Arry()) To UBound(Arry()) If saisyo > Arry(i) Then saisyo = Arry(i) x = i + 1 End If Next i MsgBox "最小値は、" & x & "番目の " & saisyo & "です。"

maaaa
質問者

お礼

ありがとうございました

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

No.1です 間違えました 回答の関数はエクセルのものです。

maaaa
質問者

お礼

ありがとうございます エクセルには範囲を指定すると その中から小さいものをとりだせるんですね 関数は知らないけど、なんとなく想像できます

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

Application.WorksheetFunction.Min(Arry)ではどうでしょうか?

関連するQ&A