web-dev-qa-db-ja.com

セルがExcelで印刷されないようにする方法

ファイルを編集しているときに画面に表示されたまま、特定のセル(または行全体または列全体)の内容がExcelで印刷されないようにするにはどうすればよいですか?理想的には、これをスプレッドシートの内部のセルに対して行うことができるはずです(つまり、右端の列や一番下の行だけではありません)。シートの全体的な外観を維持するには、セルサイズを維持する必要があるため、行または列を非表示にすることはできません。

Excelが現在印刷しているかどうかを条件とする条件付きフォーマットを定義する方法を探しましたが、そのようなものはないようです。印刷する前に手動でテキストの色を白に設定しました(そして後で手動で元に戻しました)が、これを行うための自動魔法の方法があるはずです。

18
Michael Itzoe

これを実現するために、通常の(条件付きではない)フォーマットを適用できます。問題のセル、行、列を選択し、リボン(「ホーム」→「セル」→「フォーマット」)またはキーボードショートカットからアクセスできる「セルのフォーマット」に移動します Ctrl+1

[数値]タブで、[Category = [カスタム]]を選択し、[タイプ]に次のように入力します。

""; ""; ""; ""

または単に

;;;

これは、セルに正の数、負の数、ゼロ、または(非数値)テキストが含まれている場合、空の文字列を表示するようにExcelに指示します。したがって、エラーではない値は、画面上および印刷時に非表示になります。

7

Office 2010を使用している場合は、[ファイル]-> [印刷]-> [ページ設定]-> [シート(タブ)]で、[印刷領域]の設定を探しているはずです。私の例では、列A:Jのみが印刷されます。ただし、画面に表示するとすべてが表示されます。

ダイアログは次のようになります。

Screenshot
(画像をクリックすると拡大します)

これは、「ページレイアウト」→「ページ設定」→(コーナーボタン)→「ページ設定」→「シート」としてもアクセスできます。

14
Terence

このソリューションでは、ファイルを印刷する必要があるたびに、前後に特別なアクションを実行する必要はありません。 TerenceとDon Livezeyによって提案された「印刷領域」を使用するという考えに基づいています。印刷したくないセルを印刷領域の外に置きます。それで十分であれば、完了です。

ただし、ワークシートを編集しているときに、除外したセルを印刷領域内に表示したい場合があります。その場合、表示したいが印刷しないセルごとに、次のようにします。

  • 「シェイプ」を挿入します。 (長方形が最も効果的です。)データを表示するセルの上に置きます。必要に応じて視覚的にフォーマットします。境界線がない方がよい場合があります。塗りつぶしの色を背景色に必要なものに設定するか、下のセルの塗りつぶしの色が透けて見えるようにする(および図形自体を非表示にする)には、塗りつぶしを設定しません。
  • 形状を選択してから参照を入力することにより、目的のセルのコンテンツを表示するように形状を構成します(例:=D15を上部の数式バーに入力します。図形に入力するだけではありません。その場合、式(=D15)は文字どおりに表示されます。
  • 形状を右クリックして、「Format Shape」を選択します。 [プロパティ]で、図形を印刷するかどうかを選択できます([オブジェクトの印刷]チェックボックスをオフにします)。 (Excel 2013では、これは[形状オプション]→[サイズとプロパティ]→[プロパティ]にあります。)
7
Oro108

私があなたが言っていることをする必要があるとき、私は何をしますか:

コードエディター(VBA)で関数を使用します。

Private Sub Workbook_BeforePrint(Cancel As Boolean)

列または行を非表示にするには、印刷を実行してから、再表示します。

例:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
            .Rows("10:15").EntireRow.Hidden = True
            .PrintOut
            .Rows("10:15").EntireRow.Hidden = False
        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

または、それぞれのパーツを変更して列を非表示にします(この例では、列BとDを非表示にします)。

        With ActiveSheet
            .Range("B1,D1").EntireColumn.Hidden = True
            .PrintOut
            .Range("B1,D1").EntireColumn.Hidden = False
        End With

または、列Aに空白のセルがあるすべての行を非表示にします。

        With ActiveSheet
            On Error Resume Next
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            .PrintOut
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
            On Error GoTo 0
        End With

リンク:

2
Krazy_Kaos

別のシートを作成し、そこにある情報へのリンクをコピーすることで、同じ問題を解決しました。これを行うには、元のシート全体を強調表示してコピーします(Ctrl+C)。新しいシートに移動し、最初のセルを右クリックします。 [貼り付けオプション]でリンクアイコンを選択します。貼り付けたものはすべてフォーマットされていないため、これを修正する必要があります。空のセルにはゼロが含まれます。これは、[ファイル]→[オプション]→[詳細設定]に移動し、[値がゼロのセルにゼロを表示する]チェックボックスをオフにすることで修正できます。

これで、印刷に表示したくないセル、行、または列を削除できます。元のシートを更新すると、印刷シートも更新されます。

私のように、さまざまな期間または目的でコピーするベースシートがある場合は、このベースシート用の印刷シートを作成できます。新しいペアが必要な場合は、両方のシートをコピーするだけで、新しい印刷シートが新しいシートにリンクされます。

2
David B

私は他の投稿にコメントするのに十分な評判ポイントがないので、いくつかの観察で「回答」を追加します。同じまたは同様のニーズがあり、さまざまなアプローチには長所と短所があります。

  • 印刷領域の設定:これはシートのレイアウトによっては機能しますが、隣接しない印刷領域の選択をうまく処理しません。または、おそらくそれは非常にうまく処理しますが、選択したアプローチは私の場合は機能しません。たとえば、列A〜Eのスプレッドシートがあり、印刷時に列BとDを非表示にしたい場合、印刷された各列{A、C、E}を別々のページに配置します。本当に私が欲しかったものではありません。

  • テキストを白地に白に設定:場合によっては機能する可能性がありますが、非表示のデータの漏洩を防ぐことはできません。機密情報を非表示にしようとしている場合、PDFに印刷した場合、データはPDFファイルに存在します。白地に白であっても、まだそこにあり、PDFファイルからコピー/貼り付けできます。

私は、印刷時に選択した列を非表示にするマクロを使用するアプローチを好みますが、すべての状況に適用できるわけではなく、最良の選択であるとは思いません。

1
Don Livezey

行または列を右クリックして「非表示」を選択すると、行または列全体を「非表示」にすることができます。これにより、行/列が印刷(または表示)されなくなります。複数の行/列がある場合、それらが隣り合っている場合は「クリックドラッグ」で強調表示できます。 Ctrl+隣接していない場合はクリックします。行/列が非表示の場合、それらの番号/文字は表示されません。それらを再表示するには、どちらかの側の行/列を強調表示して「右クリック」し、「再表示」を選択します。

フォントの色を変更する以外に、個々のセルが印刷されないようにできるかどうかはわかりません。条件付き書式でこれを自動化できる場合があります。

1
RSMoser

上記のように列または行を非表示にする以外にも。カスタムビューは、表示したくないものを適用したり、適用を解除したりするための簡単な方法として見ることができます。

たとえば、ある列を販売員用に、別の列を倉庫用に、別の列をすべてを印刷する場合、それぞれにカスタムビューを作成して、どちらかに簡単に切り替えることができます。

0
datatoo

「クリアな内容」の道を歩んできたので、忙しい日は印刷のためだけに元に戻すのを忘れないでください。

私のプロセスは、「作業」(ソース)タブと、ファイルで作業している同僚への「ドントタッチ」メッセージ、および作業タブから直接描画する「印刷」(宛先)タブで構成されています。クリア、非表示、または元に戻すことを覚えておく必要がある。

ソースを更新すると、宛先は必要なすべての情報を取得します。バックアップに時間を費やすことで作業時間を無駄にすることがなくなります。

また、ファイルをバックアップしてください。

乾杯

0
T. Miller II

以前のアドバイス 白いフォントがPDF印刷で表示される可能性があることを覚えておいて、私は次のテクニックを使用します:

「1」または「0」のエントリがある印刷領域外のセルを使用します。

次に、印刷に必要なすべてのセルの条件付き書式でこのフィールドを参照します。

A1=0次に、フォーマットを白いフォントに設定します。

A1=1次に、フォーマットを黒または任意のカラーフォントに設定します。

2行目は必須ではないかもしれませんが、セルA1で番号の範囲を選択することで選択した背景、境界線、フォントに対して、範囲または単一のセルに異なる番号を使用して領域を強調表示することもできます。

0
Darren

別の簡単な方法は、選択したセルを強調表示してセルのコンテンツを一時的にクリアすることです。右クリックして[コンテンツのクリア]を選択します。

enter image description here

これで、印刷して[元に戻す]ボタンをクリックすると、すべて正常に戻ります。

0
Baggie Shorts

行または列を印刷しないようにするには、ビューからhideできます。

  1. 行/列を選択
  2. それを右クリック
  3. コンテキストメニューで[非表示]を選択します

別の方法は、groupを作成してから折りたたむ方法です。

  1. 行/列を選択
  2. Dataタブ(リボン内)->Groupボタンを概要グループ

編集/印刷のために、行/列をすばやく折りたたんだり展開したりできるようになりました。

セルを非表示にする複数の方法を説明する video もご覧ください(上記を含む)。

0
Lu55