gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 00:20:07 25 4
gpt4 key购买 nike

测试用例:

取一张空工作表,并合并范围“D2:F2”。您可以手动执行此操作。

然后,激活宏记录器并通过单击电子表格顶部的 E 字母来选择列 E。您将得到以下内容:

Columns("E:E").Select

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

问题:

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

需要:

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

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

最佳答案

不,这不是错误。

原因:尝试手动选择范围E1到E5。这就是当您使用 Columns("E:E").select 时发生的情况。将其视为 .Select 不是选择列,而是从上到下选择每个单元格。

.select 方法不是您应该依赖的方法。您到底想用 select 做什么?还有另一种(可以说是更好的方法)可以做到这一点。

编辑:另外,正如我父亲总是说的那样,不应使用合并单元格。他使用“跨选择中心”,这看起来完全像一个合并单元格,没有任何看似错误的行为。

需要:我会使用宏来突出显示数据...可能是这样的...

范围("E7").Interior.ColorIndex = RGB(0, 0, 0)

关于vba - 即使合并范围位于下方,也仅选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com