2014-11-19 9 views
5

Я пытаюсь получить результат из разных ячеек на основе заданного if оператора Я получаю результат в нескольких ящиках сообщений, и результат для всех ячеек вычисляется на основе первая инструкция проверить. Как я могу получить все результаты в одном msgbox и позволить функции проверять каждую ячейку в диапазоне?VBA Excel: Получение результата для нескольких ячеек

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 

ответ

3

Сначала вы можете создать строковую переменную. Не бросайте MsgBox, но сохраняйте результаты в переменной. В последнем случае оператор End If показывает MsgBox и передает строчную переменную в качестве содержимого.

Более того, вы можете использовать String Builder, чтобы заставить его работать примерно в 1000 раз быстрее, чем VBA конкатенация по умолчанию;)

Смежные вопросы