返回列表 上一主題 發帖

[發問] 找出最大值對應的row, column

[發問] 找出最大值對應的row, column

我想找一個範圍內最大值,並找到所對應橫列/縱列的值
如範例中最大值為18.66423, 對應衡列值為400, 縱列值為25, 我的程式如下
    Col = Range("B15").End(xlToRight).Column
    Rw = Range("B15").End(xlDown).Row
    Range("H11") = Application.Max(Range(Cells(16, 2), Cells(Rw, Col)))
    For j = 16 To Rw
          For k = 2 To Col
          MAXV = Range("H11").Value
            If Cells(j, k) = MAXV Then
              Range("I11") = Cells(j, 1).Value
              Range("J11") = Cells(15, k).Value
              GoTo 5
            End If
          Next k
    Next j
Msgbox (MAXV,  Range("I11"), Range("J11"))
我利用loop去找對應最大值的橫/縱列值, 但是當這個範圍非常大時,可能是1500*1500的陣列, 執行時間則會變長, 是否有其他更有效率方法可以做?

回復 2# stillfish00

這樣跟我原本方式差不多, 當範圍大時loop須跑的項數就多了,不知道有沒有更快的方式?
ar = [B16].CurrentRegion.Value這寫法我倒是沒想過, 多學一招 謝謝

TOP

回復 4# 准提部林
findMax.zip (95.63 KB)
範圍是變動的, 每次遇到的範圍可能會不一樣

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題