即使合并范围位于下方,也仅选择一列

Mat*_*NNZ 8 excel vba

测试用例:

拿一张空纸,并合并范围"D2:F2"。您可以手动执行此操作。

然后,激活宏记录器并E只需单击E电子表格顶部的字母即可选择该列。您将得到以下信息:

Columns("E:E").Select
Run Code Online (Sandbox Code Playgroud)

现在,尝试直接从同一宏运行这行代码:您将看到它选择了三列D, EF

问题:

这是宏记录器的错误吗?或者,更确切地说,VBA 本身的错误(检测我的列中的合并范围并决定扩展选择,即使明确要求选择一个列)?我应该如何通过 VBA 代码仅选择合并范围所在的列之一,就像我可以手动执行的那样?

需要:

我有一个电子表格,年份在一行,月份在下面,日期在下面。因此,天只是单元格,而月份,尤其是年份是几天之间共享/合并的单元格。

我的需要只是检测当前日期并选择列,以便用户了解他们应该在哪一天查看数据。但是,由于“年份”单元格在上面广泛合并,因此选择了整个年份。在此输入图像描述

Var*_*tus 1

您可能知道日子从哪一行开始。因此,您可以定义从第一天行到最后一天行的范围并选择该范围,而不是选择整个列。