2015-12-10 6 views
0

Я новичок в Excel VBA, и в этом проекте я хочу, если ячейка B4 НЕ пуста, а ячейка C4 пуста, тогда C4 должен быть выделен. Аналогично, код должен зацикливаться на ячейке B16. «AMA79» - это имя листа. Я получаю метод 'Range' объекта '_Global' не удалось. с использованием этого кода. Не могли бы вы сообщить мне, что нужно сделать, чтобы исправить это.Excel vba - Метод 'Range' объекта '_Global' не удался. error

Dim i As Integer 
Dim rng As Range 
Set rng = Range("B4:B16") 

For i = 4 To 16 
With ThisWorkbook.Worksheets("AMA79") 
If Range(B, i).Value <> "" And Range(D, i).Value = "" Then 
Range(c, i).Interior.Color = vbYellow 
End If 
End With 
Next i 

ответ

1

Попробуйте это: Edit:

Sub test() 

Dim i As Integer 
Dim wb As Workbook 
Dim ws As Worksheet 

Set wb = ThisWorkbook 
Set ws = wb.Sheets("AMA79") 

For i = 4 To 16 

If ws.Range("B" & i).Value <> "" And ws.Range("D" & i).Value = "" Then 

ws.Range("C" & i).Interior.Color = vbYellow 
ws.Range("B29").Value = "Please validate the cells highlighted" 

End If 

Next i 

End Sub 
+0

Он работал отлично ... Спасибо так много Ману :) –

+0

Вы можете :) – manu

+0

Также вы можете, дайте мне знать, если я могу показать сообщение в ячейке, используя этот диапазон («$ B $ 29»). Значение = «Мое нужное сообщение», если какой-либо из столбцов подсвечивается? –

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