Excel VBA 質問スレ Part38 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0091デフォルトの名無しさん
2015/09/18(金) 22:10:16.34ID:/9LiLA2gDim lAbs(), index As Long
For i = 0 To UBound(arg)
For j = 0 To UBound(arg)
If i <> j Then
ReDim Preserve lAbs(1, index)
lAbs(0, index) = Abs(arg(i) - arg(j))
lAbs(1, index) = (arg(i) + arg(j)) / 2
index = index + 1
End If
Next
Next
If index Then
h = lAbs(0, 0)
ans = lAbs(1, 0)
For i = 0 To index - 1
If h > lAbs(0, i) Then h = lAbs(0, i): ans = lAbs(1, i)
Next
End If
NearAverage = ans
End Function
俺もこんな方法しか思い浮かばないわ。他に解があるのかな。
>>81
実際に作ろうとするとWhileの部分には終了用のフラグとか入るからFor文は無いんじゃないか。
あと全部小文字ってので昔は「VBAは頭文字が大文字になるからかっこ悪いなぁ」とか思ってた時期があった事を思い出した。
まぁ後はゲーム製作スレとかでやる話だな。
■ このスレッドは過去ログ倉庫に格納されています