测试用例:
拿一张空纸,并合并范围"D2:F2"
。您可以手动执行此操作。
然后,激活宏记录器并E
只需单击E
电子表格顶部的字母即可选择该列。您将得到以下信息:
Columns("E:E").Select
Run Code Online (Sandbox Code Playgroud)
现在,尝试直接从同一宏运行这行代码:您将看到它选择了三列D, E
和F
。
问题:
这是宏记录器的错误吗?或者,更确切地说,VBA 本身的错误(检测我的列中的合并范围并决定扩展选择,即使明确要求选择一个列)?我应该如何通过 VBA 代码仅选择合并范围所在的列之一,就像我可以手动执行的那样?
需要:
我有一个电子表格,年份在一行,月份在下面,日期在下面。因此,天只是单元格,而月份,尤其是年份是几天之间共享/合并的单元格。
我的需要只是检测当前日期并选择列,以便用户了解他们应该在哪一天查看数据。但是,由于“年份”单元格在上面广泛合并,因此选择了整个年份。