Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12089 / 13645 ツリー ←次へ | 前へ→

【12442】変数の比較について…教えてください。 ギブ 04/4/4(日) 9:44 質問
【12443】Re:変数の比較について…教えてください。 IROC 04/4/4(日) 10:12 回答
【12444】Re:変数の比較について…教えてください。 かみちゃん 04/4/4(日) 10:18 回答
【12445】Re:変数の比較について…教えてください。 ギブ 04/4/4(日) 10:35 お礼

【12442】変数の比較について…教えてください。
質問  ギブ  - 04/4/4(日) 9:44 -

引用なし
パスワード
   初めての投稿なので質問の内容が判りにくいかも
知れませんが、宜しくお願いします。

INT型の変数 例えば、g,h,i,j,k,l,m,n があったとします。
これらの変数の値を比較して最大値を別の変数に代入したいのですが、
何か関数らしきものはあるのでしょうか?
if文で長々と比較するしかないのでしょうか?

簡単に出来る方法をご存知の方、お教え願います。

【12443】Re:変数の比較について…教えてください。
回答  IROC  - 04/4/4(日) 10:12 -

引用なし
パスワード
   WorksheetFunction で、ワークシート関数を利用できます。
利用できるワークシート関数は、VBAのヘルプの
「Visual Basic で使用できるワークシート関数一覧」
に書いてあります。

また、変数は Integer より Long の方が、処理が速いです。(若干ですが)


Sub Sample()
Dim x As Long, y As Long, z As Long
Dim ans As Long

  x = 10
  y = 20
  z = 30

  ans = Application.WorksheetFunction.Max(x, y, z)

  MsgBox ans
End Sub

【12444】Re:変数の比較について…教えてください。
回答  かみちゃん  - 04/4/4(日) 10:18 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>INT型の変数 例えば、g,h,i,j,k,l,m,n があったとします。
>これらの変数の値を比較して最大値を別の変数に代入したいのですが、

Max関数と配列を使えばできます。
こんな感じです。

Dim Max_Value As Integer
Max_Value = WorksheetFunction.Max(Array(g, h, i, j, k, l, m, n))

【12445】Re:変数の比較について…教えてください。
お礼  ギブ  - 04/4/4(日) 10:35 -

引用なし
パスワード
   「IROC」さん、「かみちゃん」さんありがとうございました。
こんなに早く教えて頂けるとは思っていませんでした。
自分の勉強不足を感じました。

12089 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free