在具有最大值的范围内select单元格
我想在Excel VBA 2007中select一个单元格
第2行的示例中,单元格A到H有一些数字,但单元格B2的数值最高。 有没有一个公式可以用来获取单元格B2的地址?
基于这个,有没有一种方法可以使用一个variables来select一个范围(“:”)?
我是VBA的新手,所以任何帮助将不胜感激。
谢谢
=CELL("address",INDEX(A2:H2,MATCH(MAX(A2:H2),A2:H2,0)))
编辑。
Sub max_value_address() Dim i As Long i = 2 'This example assigns to A1 cell the address of max value in the range a2:h2 Range("a1").Formula = "=CELL(""Address"",INDEX(A" & i & ":H" & i & ",MATCH(MAX(A" & i & ":H" & i & "),A" & i & ":H" & i & ",0)))" End Sub
编辑2.这个版本更简洁一点。
Sub max_value_address() Dim i As Long Dim str As String i = 2 str = "a" & i & ":h" & i 'assign to str a2:h2 Range("a1").Formula = "=CELL(""address"",INDEX(" & str & ",MATCH(MAX(" & str & ")," & str & ",0)))" End Sub
以下代码可能会帮助您达到目标。 让我们知道,如果不清楚。
Sub GetHigherValueCellAddress() Dim oCell As Excel.Range Dim oRange As Excel.Range Dim vPrevValue As Variant Dim sAddress As String Set oRange = Sheets(1).Range("A1:C2") For Each oCell In oRange If oCell.Value > vPrevValue Then sAddress = oCell.Address vPrevValue = oCell.Value End If Next oCell MsgBox sAddress End Sub