
VB 2005,Framework2.0を使用しています。
複数のある配列の中から最大値の値だけを抽出するプログラムを作ろうと思っています。
For等のループを使うのは分かりますが、そこからどの様にコードを書けばいいのか分からなく困っています。
例えば配列にランダムに数値が入っていたとします。
Dim Hako(5) As Integer
Hako(0) = 10
Hako(1) = 16
Hako(2) = 31
Hako(3) = 12
Hako(4) = 42
Hako(5) = 5
とあったらこの配列の中の最大値(42)のみを抽出したいです。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは
戦略としてソートプロシージャがライブラリとして既にあるならソートして結果を得ればOkです。
全要素数が判っていて一つ一つ比較して調べるなら下記を参考にして下さい。
CONST LastItem = 6'調べる配列データの最大要素数
DIM I AS INTEGR'LOOP変数
DIM MaxItem AS INTEGER'最大値を格納
LET MaxItem=0'結果を入れる変数は、初期化しておく
FOR I=0 TO LastItem-1 STEP 1
'調べた最大値とデータを比較し最大値だったら入替える
IF Hako(I)>MaxItem THEN LET MaxItem=Hako(I)
NEXT I
PRINT MaxItem
END
No.1
- 回答日時:
こんにちは。
ループでと言うことでしたらこちらでどうでしょうか?
Sub TEST()
Dim Hako(5) As Integer
Hako(0) = 10
Hako(1) = 16
Hako(2) = 31
Hako(3) = 12
Hako(4) = 42
Hako(5) = 5
MsgBox (Max(Hako))
End Sub
Private Function Max(ByVal Val As Variant) As Double
Dim x As Variant
For Each x In Val
If IsNumeric(x) Then
If x > Max Then
Max = x
End If
Else
Max = Max(x)
End If
Next x
End Function
---------------------------
最小値であれば不等号を逆にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルVBA:変数の疑問?
-
データ数の多い構造体配列について
-
複数のtextboxの処理を一括で行...
-
VBAでMODE関数をつくる
-
エクセルでXY座標に並べられた...
-
GetOpenFilename(MultiSelect...
-
COBOLの基本的な事なので...
-
vba フィルター 複数条件 3つ以...
-
順列をランダムに発生するプロ...
-
8桁文字列を16進数バイト配列に...
-
EXCELで年齢別の分布表を...
-
VB.NETの配列の限界を教えてく...
-
POSTリクエストの投げ方
-
C#で作成したdllをVBScriptで使...
-
C言語
-
構造体配列の特定のメンバーをF...
-
Excel2010のinputboxで複数デー...
-
配列の要素がすべてカラかどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列のペースト出力結果の書式...
-
定数配列の書き方
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
Redim とEraseの違いは?
-
複数のtextboxの処理を一括で行...
-
VB.NETの配列にExcelから読み込...
-
COBOLの基本的な事なので...
-
Excel2010のinputboxで複数デー...
-
VBAでMODE関数をつくる
-
レコードセットの中身を配列に...
-
ReDim PreserveよりもReDimが遅い
-
EXCELを使って、アクセスログを...
-
配列の中の最大値とそのインデ...
-
VB6のメモリ解放に関して
おすすめ情報