Цикл в прерывающемся диапазоне - VBA

Узнай цену своей работы

Формулировка задачи:

Имеются диапазоны строк с пробелом в одну строку. Необходимы 2 цикла: 1-ый определяет последнюю заполненную в столбце 2 строку и 2-ой цикл работает в каждом непрерывном диапазоне , копируя значения 3 столбца напротив строки, содержащей имя "комната" во все строки ниже до следующего пробела (см.рисунок и файл)... Прошу помочь разобраться как это сделать, Пробовал так, не получается:
Листинг программы
  1. Sub primer2()
  2. lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
  3. For i = 2 To lLastRow
  4. If Cells(i, 1).Value Like "комната*" Then
  5. Range(Cells(i, 2), Cells(i, 2).End(xlUp)).Select
  6. lLastRow_j = Selection.EntireRow.Count
  7. End If
  8. MsgBox lLastRow_j
  9. For j = 2 To lLastRow_j
  10. If Cells(i, 1).Value Like "комната*" Then
  11. Cells(i, 1).Range(Cells(j, 3), Cells(j, 3)).Value = Cells(i, 3).Value
  12. End If
  13. Next
  14. Next
  15.  
  16. End Sub

Решение задачи: «Цикл в прерывающемся диапазоне»

textual
Листинг программы
  1. Private Sub Test()
  2.     Range("B:B").SpecialCells(xlConstants, xlTextValues).Offset(, 1).FormulaR1C1 = "=R[-1]C"
  3. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы