6

ワークブック全体を印刷するときに特定のタブが含まれないようにする Excel の方法はありますか? 同様に、Sheet1、Sheet2、および Sheet3 は印刷されますが、Sheet4 は印刷されません。

たとえば、誰かが [ファイル] -> [印刷] などに移動して [OK] を押すと、特定の指定されたタブを除いてすべてが印刷されます (何らかの方法で「印刷から隠す」必要があると思います)。

私はこのワークアウトを多くの人に送っているので、マクロなどを有効化/実行することを強制しないようにしています. 「印刷から除外」のようなシートのプロパティだけがありますか?

4

8 に答える 8

1

イベントを使用するBeforePrintと、組み込みの印刷機能でできることを変更できます。マクロは、BeforePrint'Workbook' の下の 'ThisWorkbook' 内にあります。

たとえば、次のように印刷されないようにシート 4 を非表示にすることができます。

Private Sub aWorkbook_BeforePrint(Cancel As Boolean)
    Sheets(4).Visible = xlSheetHidden
End Sub

この方法の欠点はAfterPrint、シートを再表示する方法がないことです。したがって、印刷ダイアログを回避する必要があります。これにはいくつかの方法がありますが、ここでは非常に単純な方法を 1 つ紹介します。(注: 考慮する必要がある他の多くの印刷シナリオがある場合、これは適切な解決策ではない可能性があります)

ここでは、印刷するシートを正確に指定しています (シート 1 と 4 のみ)。番号の代わりに名前を使用したり、ループを作成して変数を探したりして、印刷するシートを決定することもできます。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Application.EnableEvents = False

    Sheets(Array("1", "4")).PrintOut , , 1

    Application.EnableEvents = True

    '//prevent the default print
    Cancel = True
End Sub
于 2013-11-08T17:26:34.907 に答える
0

実はその答えは驚くほど単純なようです。

シートを非表示にすると、ブック全体を印刷しても印刷されません。

マクロは必要ありません。

  1. シート名を右クリック
  2. 選ぶhide

必要に応じて、あなたまたは他のユーザーが再表示することもできます。

于 2013-11-08T16:49:53.647 に答える
0

これを手動で行うには、最初のシート タブ ラベルをクリックして印刷するすべてのシートを選択し、[Shift] キーを押しながら最後のシート タブ ラベルをクリックします。(多数のシートがある場合は、小さな矢印キーを使用してナビゲートします)

途中でシートの選択を解除する必要がある場合は、CTRL キーを押しながらそのシートをクリックします。

または、CTRL キーを押しながら各シート タブ ラベルをクリックすることもできます。

選択されていることを示すために、シートの色は白になります (アクティブでないシートではグラデーションが適用されます)。

警告: 複数のシートが選択されている場合、1 つのシートを変更すると、すべてのシートの同じセルで繰り返されます。

于 2017-10-30T02:00:20.573 に答える