キャシーは、ワークブックのすべてのワークシートのセルA1にハイパーリンクを持っています。ハイパーリンクをクリックすると、目次を含むワークシートが表示されるため、彼女は膨大なワークブックをすばやく移動できます。キャシーは、ワークシートを印刷するときにハイパーリンクを印刷したくありません。彼女は、ハイパーリンクが印刷されないようにフォーマットする方法があるかどうか疑問に思います。

彼女は、ワークブックでの作業中にこのセルを表示したいので、列Aまたは行1を非表示にすると目的が果たせなくなると述べています。

あなたがこれについて行くことができる多くの方法があります。おそらく最も簡単な方法は、セルA1の情報を「非表示」にして、情報が表示されず、印刷されないようにすることです。これを行う1つの方法は、セル内のテキストを白としてフォーマットすることです。これは、白地に白がまったく見えないためです。リンクはまだそこにあり、簡単にクリックできますが、表示されません。

セルにカスタムフォーマットを適用しても、同様の結果が得られます。

「;;;」の形式を使用してください(引用符なしの3つのセミコロンです)セル内の情報が表示されなくなります。繰り返しになりますが、リンクはまったく見えませんが、リンクをクリックすることはできます。

この問題に取り組むもう1つの方法は、各ワークシートの印刷領域を定義することです。各ワークシートの最初の行を印刷領域から除外するだけで、印刷出力に表示されることはありません。このアプローチの追加の利点は、ハイパーリンクが各ワークシートに引き続き表示されることです。

セルA1の代わりにハイパーリンクをテキストボックスに配置することもできます。

次に、テキストボックスを、印刷されないようにフォーマットすることができます。 (テキストボックスを選択し、右クリックして[サイズとプロパティ]を選択し、[プロパティ]タブを表示して、[オブジェクトの印刷]チェックボックスをオフにします。)

別のアプローチは、ワークシートでハイパーリンクを使用せず、代わりにフォームボタンを追加して、クリックすると、ユーザーをメインワークシートに移動させるマクロを実行することです。 (フォームボタンの作成方法については、_ExcelTips._の他の号で説明されています。)ワークシートを印刷するときに、フォームボタンは含まれていません。

かなりユニークなアプローチは、MicrosoftWordを使用してリンクを作成することです。 Wordでは、ハイパーリンクを作成し、そのハイパーリンクを隠しテキストとしてフォーマットできます。 (非表示のテキストのフォーマット方法は、WordTips Webサイトにあります。)次に、リンクのテキストをクリップボードにコピーして、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

これは、ワークブック内のすべてのワークシートに、このヒントで前述した特別なカスタム形式を適用することだけです。マクロは、印刷の直前に自動的に実行されます。印刷後、フォーマットはまだワークシートにあります。次に、2番目のマクロを含めて、アクティブ化されているブックのセルA1に一般形式を適用できます。

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

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

End Sub

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(8184)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。