У меня есть несколько таблиц, которые в основном расположены друг на друге и имеют столбцы шагов, все в столбце А. Итак, первая таблица запускает шаги (заголовок столбца), затем идет на 1 - n (что угодно) под ней, и у меня есть кнопка рядом с нейэто добавляет строки прямо под этой таблицей.Затем пропускаются несколько строк, и у меня есть еще одна похожая таблица, которая имеет заголовок столбца STEPS1 и перечисляет ниже номер шага с другой кнопкой для добавления строк.У меня есть код, который будет окрашивать определенные ячейки в таблице в зависимости от того, какой шаг # строки, хотя, когда я добавляю несколько строк, мой определенный диапазон для окрашивания ячеек расширяется и начинает окрашивать ячейки, которые я не хочу окрашивать.Итак, я могу определить диапазон, который начинается с заголовка столбца, а не скажем, For all c in Range("A23:A32")
Вот некоторый код:
Dim C As Range
For Each C In Range("A22:A38")
If C = 1 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B12").Interior.Color 'whatever colour you need
ElseIf C = 2 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B13").Interior.Color
ElseIf C = 3 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B14").Interior.Color
ElseIf C = 4 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B15").Interior.Color
ElseIf C = 5 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B16").Interior.Color
ElseIf C = 6 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B17").Interior.Color
ElseIf C = 7 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B18").Interior.Color
ElseIf C = 8 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B19").Interior.Color
ElseIf C = 9 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B20").Interior.Color
ElseIf C = 10 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B21").Interior.Color
ElseIf C = 11 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B22").Interior.Color
ElseIf C = 12 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B23").Interior.Color
ElseIf C = 13 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B24").Interior.Color
ElseIf C = 14 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B25").Interior.Color
ElseIf C = 15 Then
Union(Cells(C.row, 2), Cells(C.row, 5), Cells(C.row, 8), Cells(C.row, 11), Cells(C.row, 14)).Interior.Color = Range("B26").Interior.Color
End If
Next C
Loop
Моя проблема в том, что если я добавлю кучустрок для каждой таблицы, диапазон, который я установил, теперь не охватывает всю таблицу, скажем.Я хочу диапазон, который может найти заголовок столбца, например STEP1 или STEP2, и идти до тех пор, пока не будет пустой строки