Как изменить стиль всех строк в выбранном диапазоне?

Я хочу создать макрос, который выделит все строки выбранного диапазона ячеек. Например. Если я выберу ячейки A1 и B3, я хочу, чтобы макрос выделил строки 1 и 3. В настоящее время у меня есть следующий макрос, который может выделить строку из одной ячейки, но я не знаю, как расширить его, чтобы выделить строки. всех выбранных ячеек:

Sub Macro1()
    ActiveCell.EntireRow.Style = "Good"
End Sub

person quant    schedule 30.01.2014    source источник
comment
ActiveCell.Resize (2) .EntireRow.Style = Хорошо   -  person DeanBDean    schedule 30.01.2014
comment
@DeanBDean, который просто выделяет 2 строки в самой нижней из выбранных ячеек и ниже.   -  person quant    schedule 30.01.2014
comment
Упс, я неправильно понял, о чем вы спрашивали. Заменить ActiveCell на Selection   -  person DeanBDean    schedule 30.01.2014
comment
@DeanBDean большое спасибо :)   -  person quant    schedule 30.01.2014
comment
@DeanBDean Следует сделать это как Ответ, возможно, с проверкой типа выбора в первую очередь (применимо только к типу диапазона: typename(selection) = "Range").   -  person PatricK    schedule 30.01.2014


Ответы (1)


Я бы предложил это в качестве вашего саба.

Sub Macro1()
     If TypeName(Selection) = "Range" Then
          Selection.EntireRow.Style = "Good"
     End If
End Sub

ActiveCell вернет только верхнюю левую ячейку в выделении. См. это. Кроме того, спасибо PatrickK за предложение о проверке имени типа, мне неловко сказать, что я не знал о TypeName раньше.

person DeanBDean    schedule 30.01.2014