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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
グリッドの列の最大値を求めたい。
Visual Basic(VBA)
-
配列の中の最大値とそのインデックス番号を取得する方法
Visual Basic(VBA)
-
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
-
4
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
5
VB6で配列の最大値を簡単に求める。
Visual Basic(VBA)
-
6
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
7
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
-
8
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
9
配列内の内容を全て表示する方法
Visual Basic(VBA)
-
10
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
11
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
12
Redim とEraseの違いは?
Access(アクセス)
-
13
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
14
2つ以上の変数を比較して最大数を求めたい
Word(ワード)
-
15
正整数の半角数字かどうか判定する
Visual Basic(VBA)
-
16
VB.net、テキストボックス入力制限、全角のみ
Visual Basic(VBA)
-
17
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
18
VB2010で、時刻と時間の計算について
Visual Basic(VBA)
-
19
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
20
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でbyte配列から画像を表示さ...
-
VBA 変数名に変数を使用したい。
-
構造体配列内の文字列検索のよ...
-
定数配列の書き方
-
VB6でやると構造体の配列になる...
-
Excelのメモリ(配列)の上限は2G...
-
OutOfMemoryExceptionの回避策...
-
Excel2010のinputboxで複数デー...
-
Dir関数で読み取り順を操作でき...
-
pictureboxの名前を変数で設定...
-
Segmentation Fault (メモリ制限?)
-
エクセルでXY座標に並べられた...
-
配列のペースト出力結果の書式...
-
RPG 配列宣言について
-
Excelマクロ:配列データからグ...
-
Variant型配列の文字コード変換
-
DBから取得した値を配列へ代入する
-
配列変数 インデックス番号の...
-
COBOLの基本的な事なので...
-
レコードセットの中身を配列に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報