メインコンテンツへスキップ

Excelのセル値に基づいて特定のシートを印刷するにはどうすればよいですか?

作者: サン 最終更新日:2020年09月21日

セルの値に基づいて特定のシートを印刷しようとしたことがありますか? この記事では、この問題に関するいくつかの例について説明します。この問題に興味がある場合は、先に進んでください。

VBAを使用したセルに基づく印刷シート

VBAを使用して隣接セルに基づいてシートを印刷する


VBAを使用したセルに基づく印刷シート

1枚のシートがあるとすると、Sheet2のセルA1に基づいてSheet1またはSheetXNUMX、あるいは両方のシートを印刷します。 以下のようにしてください:

この場合、1を入力すると最初のシートを印刷し、2を入力すると3番目のシートを印刷し、XNUMXを入力すると両方のシートを印刷します。

1.最初のシートのA1に必要に応じて、2、3、または1を入力し、を押します。 Altキー+ F11 開くキー アプリケーション向け Microsoft Visual Basic 窓。 スクリーンショットを参照してください:
セル1ごとのドキュメント印刷シート

2。 クリック インセット > モジュール、以下のコードを モジュール 脚本。 スクリーンショットを参照してください:

VBA:セル値に基づいてシートを印刷する

Sub PrintStuff()
'UpdayebyExtendoffice20180811
    Dim xRgVal As Variant
    Dim xSheets As Sheets
    Set xSheets = ActiveWorkbook.Worksheets
    xRgVal = xSheets(1).Range("A1").Value
    If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
        Select Case xRgVal
            Case 1
                xSheets(1).PrintOut
            Case 2
                xSheets(2).PrintOut
            Case 3
                xSheets(1).PrintOut
                xSheets(2).PrintOut
            Case Else
                MsgBox "Enter1,2 or 3 into A1(1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
                Exit Sub
            End Select
    Else
        Exit Sub
    End If
End Sub

セル2ごとのドキュメント印刷シート

3。 押す F5 シートを直接印刷するためのキー。


VBAを使用して隣接セルに基づいてシートを印刷する

ワークブックに複数のシートがあり、このワークブックのセル値に基づいてXNUMXつまたは複数のシートを印刷する場合は、次のように実行できます。

1.という名前の新しいシートを作成します コントロールシート 使用するワークブックで、すべてのシート名を列Aにリストします(必要に応じてコントロールシートを含めるか除外します)。 スクリーンショットを参照してください:
セル3ごとのドキュメント印刷シート

2。 タイプ "印刷印刷する場合は、シート名の横の隣接するセルに「」を入力します。 示されているスクリーンショットを参照してください。
セル4ごとのドキュメント印刷シート

3。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic ウィンドウをクリックして インセット > モジュール。 スクリーンショットを参照してください:
セル5ごとのドキュメント印刷シート

4.以下のコードをモジュールに貼り付け、を押します F5 コードを実行するためのキー。

VBA:隣接するセルに基づいて印刷

Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
    Dim i As Integer
    Dim xCSheetRow As Integer
    Dim xSName As String
    Dim xCSheet As Variant
    Dim xRgVal As String
    On Error Resume Next
    xSName = "Control Sheet"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xCSheet = ActiveWorkbook.Worksheets(xSName)
    xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
    For i = 2 To xCSheetRow
        xRgVal = xCSheet.Range("B" & i).Value
        If xRgVal = "Print" Or xRgVal = "print" Then
            If xCSheet.Range("A" & i).Value <> "" Then
                ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
            End If
        End If
    Next
    xCSheet.Delete
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.Name = "Control Sheet"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Sheet Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Print?"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
    Next
    Cells.Columns.AutoFit
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

 セル6ごとのドキュメント印刷シート

コードの実行後、シートは今すぐ印刷され、同時に、新しいコントロールシートが古いコントロールシートに置き換わります。

ヒント。あなたが持っている場合 Kutools for Excelさん シート名のリストを作成する ユーティリティを使用すると、クリック可能なリンクを使用して、新しいシートにすべてのシート名のリストをすばやく作成できます。

Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 
日々、 今すぐダウンロードして無料トライアルをお試しください。


セル7ごとのドキュメント印刷シート

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリー (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello

Thank you for the indications above, it works perfectly.
Is it possible to create a button without the one disappearing is that the control sheet does not replace the old one but that it simply updates by pressing the button?
And second question, is it possible for the printing to be done in PDF and not in paper?

Thanks
This comment was minimized by the moderator on the site
Bonjour,

Tout d'abord merci pour l'explication ci-dessus, c'est génial et cela fonctionne parfaitement.
Dans mon cas, j'aimerais adapter un peu différemment, est il possible de passer par un bouton et que celui ne disparaisse jamais ?
J'ai réussi à faire un bouton qui reprend la macros, mais une fois imprimer il disparait.
Et deuxième questions, est il possible de lancer l'impression mais avec microsoft print to PDF afin d'obtenir l'impression en PDF et non en papier ?

Merci d'avance
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations