如何更改所选范围内所有行的样式?

Posted

技术标签:

【中文标题】如何更改所选范围内所有行的样式?【英文标题】:How do I change the style of all rows in the selected range? 【发布时间】:2014-01-30 05:11:29 【问题描述】:

我想创建一个宏来突出显示选定单元格区域的所有行。例如。如果我选择单元格 A1 和 B3,我希望宏突出显示第 1 行和第 3 行。目前我有以下宏可以突出显示单个单元格中的一行,但我不知道如何扩展它以突出显示行在所有选定的单元格中:

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

【问题讨论】:

ActiveCell.Resize(2).EntireRow.Style = "好" @DeanBDean 仅突出显示所选单元格最低处和下方的 2 行。 哎呀,我看错了你在问什么。将ActiveCell 替换为Selection @DeanBDean 非常感谢 :) @DeanBDean 应该作为答案,可能首先检查选择类型(仅适用于范围类型:typename(selection) = "Range")。 【参考方案1】:

我会建议你把它作为你的子。

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

ActiveCell 只会返回选择中左上角的单元格。见this。另外,感谢 PatrickK 关于检查类型名的建议,我很尴尬地说我以前不知道 TypeName 函数。

【讨论】:

以上是关于如何更改所选范围内所有行的样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改材质ui表中所选行的文本颜色

如何更改所选数据网格行的蓝色

如何更改所选 SlidingMenu 行的背景颜色并保持不变,直到选择其他行?

范围内数据框所有列的最小值

Delphi TDBGrid如何在样式为gdsGradient时更改所选颜色

如何动态更改公式内的范围?