- 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
|
|