【发布时间】:2020-04-10 03:31:08
【问题描述】:
我正在尝试使用类似于以下内容的 vba 代码突出显示整个列:
Columns("A:A").select
但我想将“A”替换为包含列数值的变量 I,因此 A=1、B=2 等。
另一个问题是,在我的工作表上,我也有很多合并的单元格。所以如果我使用如下代码:
I=2
Columns(i).select
然后它还会突出显示位于同一列下的合并单元格的所有列。我想要它,所以它只突出显示一列,第一列(变量)。就像一个人只需单击列以突出显示 Excel 表中的整个选定列。
代码不必是“列”代码,它只是一个示例,而且我知道它可以按照我需要的方式工作。
谢谢
【问题讨论】:
-
合并单元格是邪恶的,不要使用它们!合并单元格有另一种选择:Center Across Selection。否则你总是会在使用 VBA 时遇到此类问题。
-
在任何情况下都避免选择;你想对列中的单元格做什么?您可以在不选择列的情况下执行“它”。
-
@AndyG 在第 4 行显示月份和日期(例如:“Oct-25”),跨列显示日期。我想要它,这样当我打开工作表时,它会突出显示今天的整个列,以便更容易看到我的位置。
-
如果它是一个简单的时间表,那么与
center across selection相比,您是否需要 合并单元格?或者,您可以只选择打开工作簿时列中的第一个有用单元格。 -
@HumanlyRespectable 您可以使用条件格式通过检查列的日期与今天的日期来突出显示今天的列,例如背景颜色或边框:条件
=A$5=TODAY()其中 A5 包含列 A 的日期. 这样,如果您打开工作簿,今天的列将自动着色。没有看到您的工作表,很难更好地解释这一点。