VBA Excel для выделения диапазона на другом листе

Долгое время здесь я был в тупике, пытаясь закодировать некоторый VBA, чтобы выделить из столбцов B в S на другом листе, для всех строк, которые имеют значение в столбце S больше, чем H10 на другом листе. Этот код отлично работает:

Dim i As Long For i = 2 To Rows.Count If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then Worksheets("Initial Data").Cells(i, 19).Interior.ColorIndex = 4 End If Next i Worksheets("Initial Data").Activate 

Это выделит каждую ячейку в столбце S, которая требуется. То, что я хочу сделать, – выделить ячейки от B до S, что-то вроде этого:

 Dim i As Long For i = 2 To Rows.Count If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 2 End If Next i Worksheets("Initial Data").Activate 

… но он не работает, я получаю ошибку времени выполнения. Это так расстраивает, что я сделал большую часть тяжелого материала!

О, и прежде, чем кто-либо предложит условное форматирование, данные, которые читает sub, только что вставлены каждый раз, так что нет. спасибо за любой вход!

Попробуйте удалить точку раньше .Cells(i, 2) vba не знает, какие ячейки вы имеете в виду

Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 2 в Worksheets("Initial Data").Range(Cells(i, 2), Cells(i, 19)).Interior.ColorIndex = 2

или используйте With -> msdn :

 With Worksheets("Initial Data") .Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 4 End With 
  • Powershell Run Несколько сценариев vba в книге Excel на нескольких листах
  • Макрос для фильтрации активной ячейки с другого листа
  • как разрешить только определенным пользователям отображать рабочий лист
  • Напишите на двух разных листах, чтобы не работать отлично 2007
  • Копирование определенных столбцов условно на другой рабочий лист
  • Ограничить сортировку по определенному диапазону для Excel
  • Чтение защищенного паролем рабочего листа (версия - excel 95,97-2003) Java
  • VBA: извлеките столбец до пустого, повторите на следующем листе
  • com исключение HRESULT: 0x800A03EC
  • Зеркальная колонка в одном листе excel для других нескольких листов Excel с автоматическим обновлением
  • Копирование листов Excel в POI
  • Давайте будем гением компьютера.