请参阅引用Application的变量

时间:2015-10-01 08:50:30

标签: excel vba excel-vba offset

我正在尝试将单元格的值放在左列(列A)中的Msgbox中。需要选择此值,具体取决于B列中的哪个值最低,应该重复使用,行的长度不同(有时是200行,有时230行等)

到目前为止,我写道:

Sub Flow()
'Check lowest value

Dim lowestValue As String


lowestValue = Application.WorksheetFunction.Min(Sheets("ImportData").Range("B3:B290"))

MsgBox "Lowest Flow" & vbNewLine & _
(lowestValue) & vbNewLine & _
"at " & (lowestValue.Offset(0, -1))

End Sub

显然lowestValue.Offset(0, -1))不起作用,但基本上我想要实现的目的是:找到最低值,然后查看左边的一列,并在单元格中显示该值。

1 个答案:

答案 0 :(得分:1)

以这种方式:

Sub Flow()
'Check lowest value
    Dim rData                 As Range
    Dim lowestMatch
    Set rData = Sheets("ImportData").Range("B3:B290")
    lowestMatch = Application.Match(Application.Min(rData), rData, 0)
    If Not IsError(lowestMatch) Then
        MsgBox "Lowest Flow" & vbNewLine & _
               rData.Cells(lowestMatch).Value & vbNewLine & _
               "at " & rData.Cells(lowestMatch).Offset(0, -1).Value
    End If
End Sub