2014-11-19 28 views
5

Próbuję uzyskać wynik z różnych komórek w oparciu o preset if oświadczenie Otrzymuję wynik w wielu skrzynkach wiadomości, a wynik dla wszystkich komórek jest obliczany na podstawie pierwsze sprawdzenie oświadczenia. W jaki sposób mogę otrzymać wszystkie wyniki w jednym msgbox i zezwolić tej funkcji na sprawdzenie każdej pojedynczej komórki w zakresie?VBA Excel: Uzyskiwanie wyniku dla wielu komórek

Dim rcell As Range 
For Each rcell In Vou_Summary.Range("I5:I16") 
    If 0 < rcell <= 2.5 Then 
     MsgBox rcell.Cells.Offset(0, -3).Value & " Is Critical", vbOKOnly, "Notice!" 
    ElseIf 2.5 < rcell <= 4 Then 
     MsgBox rcell.Cells.Offset(0, -3).Value & " Requires PR Placement", vbOKOnly, "Notice!" 
    ElseIf rcell >= 7 Then 
     MsgBox rcell.Cells.Offset(0, -3).Value & " Is Oversupplied", vbOKOnly, "Notice!" 
    Else 
End If 
Next 

Odpowiedz

3

Możesz najpierw utworzyć zmienną String. Nie wyrzucaj MsgBox, ale zapisz wyniki w zmiennej. Po instrukcji oświadczenie End If Pokaż MsgBox i przekazać zmienną łańcuchową jako treść.

Lepiej, możesz użyć numeru String Builder, aby działało około 1000 razy szybciej niż domyślne połączenie VBA;)

Powiązane problemy