2014-11-19 31 views
5

Farklı hücrelerin sonucunu önceden ayarlanmış bir if deyimine göre almaya çalışıyorum. Bildirimi birden fazla ileti kutusuna alıyorum ve sonuç olarak tüm hücreler için sonuç hesaplanır. ilk ifade kontrol et. Tüm sonuçları tek bir msgbox numaralı telefondan nasıl alabilirim ve fonksiyonun aralıktaki her bir hücreyi kontrol etmesine izin verebilir miyim?VBA Excel: Birden çok hücre için sonuç alma

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 

cevap

3

Önce bir Dize değişkeni oluşturabilirsiniz. Bir MsgBox atmayın ama sonuçları değişkene kaydedin. End If deyimini geçmiş, MsgBox'ı gösterir ve dize değişkenini içerik olarak iletir.

);

Daha iyi, sen daha hızlı varsayılan VBA birleştirme yaklaşık 1000 kez çalışması için bir String Builder kullanabilirsiniz