Страницы: 1
RSS
Залить несколько строк таблицы на основании выделенных ячеек
 
Добрый день.
Подскажите, пожалуйста, как реализовать макрос, который бы заливал только строки в таблице, на основании того, какие ячейки выделены.
Для одной строки работает такое:
Код
Sub paint_red()
r = Selection.Row
Range("A" & r & ":F" & r & "").Interior.Color = vbRed
End Sub

Но для нескольких строк уже нет, выделяет только первую выделенную.

Спасибо.
 
Код
Sub paint_red()
r = Selection.Row
rr = Selection.Rows.Count - 1

Range("A" & r & ":F" & r + rr & "").Interior.Color = vbRed

End Sub
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, спасибо, работает, если выделить несколько смежных ячеек.
А вот если через одну, то заливает только первую.
 
Код
Sub paint_red_1()
For Each x In Selection: Range("A:F").Rows(x.Row).Interior.Color = vbRed: Next x
End Sub
Изменено: k61 - 11.04.2020 23:02:02
 
k61, супер, работает!
Спасибо огромное!
 
Тоже получилось, что не совсем работает(
Если я фильтром оставляю нужные значения и раньше выделял все строки, отобранные фильтром, то он заливал только видимые после фильтрации строки.
Код
Sub paint_red_1()
For Each x In Selection: Range("A:F").Rows(x.Row).Interior.Color = vbRed: Next x
End Sub

Данный макрос заливает все строки, даже скрытые под фильтром.
 
Код
Sub paint_red_1()

Dim x As Range
For Each x In Selection
   If x.EntireRow.Hidden = "False" Then
Range("A:F").Rows(x.Row).Interior.Color = vbRed
    Else
    End If
Next x
End Sub


так вроде работает)
 
зачем на тип данных Boolean ("False") стринги мерить?
Код
Sub paint_red_3()
For Each x In Selection
Range("A:F").Rows(x.Row).Interior.ColorIndex = (Abs(Not (x.EntireRow.Hidden)) * 6)
Next x
'Rows.Hidden = 0
End Sub
 
k61, спасибо, работает, даже вроде на доли секунды пошустрей)
не понимаю почему работает правильно) если строка не скрыта, то получаем 1*6 и он заливает цветом...а если скрыта, ведь должно быть 0*6 = 0 и он должен обесцветить же ее? а он оставляет цвет какой и был
Это хорошо и правильно в моем случае, просто интересно разобраться
Страницы: 1
Наверх