【发布时间】:2020-02-06 18:02:13
【问题描述】:
我正在使用条件格式来影响表格中某些包含超链接的单元格的字体颜色。但是,当我点击超链接时,它会覆盖单元格中的条件格式,这是不受欢迎的。
如果当前单元格正上方的单元格具有相同的值,则条件格式实质上是使文本不可见。它使用适用于整个范围 ($C$6:$C$24) 的公式 (=C5=C6)。
我尝试过的事情:
- 关闭并重新打开文件可以解决问题,因为它会重置所有 后面的超链接回到正常的超链接。然而,我不 想要一直关闭并重新打开。
- 我可以使用
Worksheet_FollowHyperlink事件将字体颜色改回来,但是当我对表格进行不同的排序(从而改变条件格式的行为方式)时,条件格式是 仍然被禁用——现在支持以编程方式应用的字体 颜色。
这个问题本质上是对我之前的帖子 (Is there a way to make Conditional Formatting ignore the FollowedHyperlink flag?) 的更新。我不再使用HYPERLINK 公式,因为这不允许我使用答案中提供的Worksheet_FollowHyperlink 选项。
我还阅读了提供的 SuperUser 线程 (https://superuser.com/questions/728825/how-do-i-prevent-excel-from-changing-the-color-of-a-clicked-link/819931),它提供了一些其他有趣的途径来追求,但并没有完全让我到达我需要的地方。我现在特别问我是否可以重置 Excel 对哪些超链接被跟踪的记忆。
这是我想要的,在点击链接之前和之后:
这是我点击链接后的不良行为:
【问题讨论】:
-
对不起...原文中的错字。
Worksheet_FollowHyperlink事件是我尝试过的(不是原帖中提到的Worksheet_SelectionChange事件......虽然我也尝试过)。 -
这些超链接是指向 URL 还是指向工作簿中的位置?
-
工作簿中的位置。第一列包含指向所列工作表中
$A$1的链接;表格和/或命名范围的第二列。 -
我刚刚发现,如果我在“即时”窗口中输入
?selection.style,紫色的“跟随超链接”单元格会应用“超链接”样式,如果我尝试,则会应用蓝色 (“12673797”)?selection.font.color...即使我在屏幕上清楚地看到紫色。如果不更改字体的样式或颜色,Excel 如何将这些显示为紫色? -
使用
?selection.displayformat.style和?selection.displayformat.font.color也是如此。
标签: excel vba conditional-formatting