凯西在她的工作簿中每个工作表的单元格A1中都有一个超链接。单击超链接后,将显示一个包含目录的工作表,以便她可以更快地在庞大的工作簿中移动。 Kathy在打印工作表时不想打印超链接。她想知道是否可以通过任何方式设置超链接的格式,以使其无法打印。

她指出,隐藏列A或行1不能达到目的,因为她希望在工作簿中工作时可以看到此单元格。

有很多方法可以解决此问题。也许最简单的方法是仅“隐藏”单元格A1中的信息,以使其不可见并且不会打印出来。一种实现方法是将单元格中的文本格式设置为白色,因为白底白字不可见。该链接仍将存在,并且可以轻松单击,但不会显示。

通过将自定义格式应用于单元格,可以得到类似的结果。

只需使用格式“ ;;;” (这是三个分号,不带引号),并且单元格中的信息从视图中消失了。同样,您仍然可以单击链接,即使该链接非常不可见。

解决该问题的另一种方法是为每个工作表定义打印区域。只需从打印区域中排除每个工作表的第一行,它就永远不会显示在打印输出上。这种方法的另一个好处是,超链接在每个工作表上仍然可见。

您也可以将超链接而不是单元格A1放在文本框中。

然后可以格式化文本框,使其不打印。 (选择文本框,单击鼠标右键,然后选择“大小和属性”,显示“属性”选项卡,然后取消选中“打印对象”复选框。)

另一种方法是不使用工作表中的超链接,而是添加一个表单按钮,该按钮在单击时会运行一个将用户带到主工作表的宏。 (ExcelTips的其他问题中已经讨论了如何创建表单按钮。)在打印工作表时不包括表单按钮。

一种相当独特的方法是使用Microsoft Word来帮助您创建链接。您可以在Word中创建超链接,然后将该超链接设置为隐藏文本。 (可以在_WordTips_网站上找到如何设置隐藏文本的格式。)然后,将链接的文本复制到剪贴板,然后将其作为Word对象粘贴到Excel中。然后,对象可以保留Word的功能(包括被隐藏的文本),并且在Excel中仍然是“可单击的”。

最后,您可以使用宏来方便打印工作表。

将以下宏添加到ThisWorkbook对象:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim wks As Worksheet

For Each wks In Worksheets         wks.Range("A1").NumberFormat = ";;;"

Next End Sub

所有这些都是将本技巧前面介绍的特殊自定义格式应用于工作簿中的所有工作表。宏将在打印之前自动运行。打印后,格式仍在工作表中。然后,您可以包括第二个宏,以将常规格式应用于激活的工作簿中的单元格A1:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Sh.Range("A1").NumberFormat = "General"

End Sub

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(8186)适用于Office 365中的Microsoft Excel 2007、2010、2013、2016、2019和Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: