トップページ > プログラム > 2015年12月10日 > Ek2aQ7ct

書き込み順位&時間帯一覧

10 位/162 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000213



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
82 :デフォルトの名無しさん[sage]:2015/12/10(木) 22:14:34.44 ID:Ek2aQ7ct
配列myArray(1 to 10, 1 to 10)で
myArray(5, i), myArray(5, i+1), myArray(5, i+2) の最大値を求めるのはworksheetfunction.Maxを使えばいいですが、
最大値の i を求めるスマートな方法ってありますか?

例えば、myArray(5, 2), myArray(5, 3), myArray(5, 4)の最大値となる(5,?)を求めたい時、

i=2
dblMax=WorksheetFunction.Max(myArray(5, i), myArray(5, i+1), myArray(5, i+2))

for j=i to i+2
if dblMax=myArray(5, i) then
debug.print i '最大値をとるときのi
EndIf
Next j

って書くのもなんか泥臭いというか素人っぽいというか・・・
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
84 :デフォルトの名無しさん[sage]:2015/12/10(木) 22:39:25.36 ID:Ek2aQ7ct
>>83
早速どうも。コードありがとうございます。

myArray(1,1) = 3
myArray(1,2) = 5
myArray(1,3) = 4

のとき、For文でしらみつぶしに調べることなく、
最大値となる(1,2)などを返す方法はないかなと思ったのです。
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
86 :デフォルトの名無しさん[sage]:2015/12/10(木) 23:06:09.69 ID:Ek2aQ7ct
>>85
端的な回答ありがとうございました。
前提条件はないので、シラミ潰しします。
素人なので素人臭くないスマートなコードに憧れます。
この発想が素人臭いのかもしれませんがw


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。