Do While тут совершенно не нужен (он вообще мало где употребляется). Надо использовать For Next:
- Код: Выделить всё
 'при таком цикле rwIndex будет меняться от 7 до номера строки 
'последней НЕпустой ячейки столбца В
For rwIndex=7 To Worksheets(твой_лист).Range("B65535").End(xlUp).Row
...
Next rwIndex
или 
- Код: Выделить всё
 'при таком цикле rwIndex будет меняться от 7 до номера последней
'строки использованного на листе пространства.
For rwIndex=7 To Worksheets(твой_лист).UsedRange.Rows.Count
...
Next rwIndex
If Range("C" & rwIndex & ":" & "I" & rwIndex) = 0 Then
А на словах это условие как выглядит?
Если условие: 
сумма ячеек данной строки в столбцах С:I = 0, то в коде оно выглядит:
- Код: Выделить всё
 If Application.WorksheetFunction.Sum(Range(Cells(rwIndex,3),Cells(rwIndex,9))) = 0 Then
Можно, конечно, обращаться и так: 
Range("C" & rwIndex & ":" & "I" & rwIndex)
, но тогда будет потеря по быстродействию из-за трех(!) операций конкатенации на каждом шаге.
Если условие:
все ячейки данной строки в столбцах C:I - пустые, то:
- Код: Выделить всё
 If Application.WorksheetFunction.CountA(Range(Cells(rwIndex,3),Cells(rwIndex,9))) = 0 Then
P.S.: а переменные, по-хорошему, надо объявлять 

- Код: Выделить всё
 Dim rwIndex As Long
P.P.S.: практически все это можно сделать, не используя VBA. - Окно с сообщением тут обязательно? Если нет, то проще сделать условное форматирование с двумя условиями и вместо таблички строки, попадающие под эти два условия будут выделяться (цветом, шрифтом и т.д.). Быстро, легко, автоматически.