Excelのセル値に基づいて特定のシートを印刷するにはどうすればよいですか?
セルの値に基づいて特定のシートを印刷しようとしたことがありますか? この記事では、この問題に関するいくつかの例について説明します。この問題に興味がある場合は、先に進んでください。
VBAを使用したセルに基づく印刷シート
1枚のシートがあるとすると、Sheet2のセルA1に基づいてSheet1またはSheetXNUMX、あるいは両方のシートを印刷します。 以下のようにしてください:
この場合、1を入力すると最初のシートを印刷し、2を入力すると3番目のシートを印刷し、XNUMXを入力すると両方のシートを印刷します。
1.最初のシートのA1に必要に応じて、2、3、または1を入力し、を押します。 Altキー+ F11 開くキー アプリケーション向け Microsoft Visual Basic 窓。 スクリーンショットを参照してください:
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
3。 押す F5 シートを直接印刷するためのキー。
VBAを使用して隣接セルに基づいてシートを印刷する
ワークブックに複数のシートがあり、このワークブックのセル値に基づいてXNUMXつまたは複数のシートを印刷する場合は、次のように実行できます。
1.という名前の新しいシートを作成します コントロールシート 使用するワークブックで、すべてのシート名を列Aにリストします(必要に応じてコントロールシートを含めるか除外します)。 スクリーンショットを参照してください:
2。 タイプ "印刷印刷する場合は、シート名の横の隣接するセルに「」を入力します。 示されているスクリーンショットを参照してください。
3。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic ウィンドウをクリックして インセット > モジュール。 スクリーンショットを参照してください:
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
コードの実行後、シートは今すぐ印刷され、同時に、新しいコントロールシートが古いコントロールシートに置き換わります。
Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 |

最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
