2015-10-01 46 views
0

我試圖將單元格的值放在左列(列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))不工作,但基本上這是我想什麼來實現:找到lowestValue然後看一列左,也顯示在單元格中該值。

回答

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

完美的作品。我現在才意識到,有時在B列中有兩次或兩次以上相同的值,我需要在這些點上得到列A中的所有值。 A列有時間戳,所以它們是獨一無二的。有沒有一種方法可以在時間X,時間Y,時間Z ......的消息框中告知最低值? – QuestJonas

相關問題