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 便利な機能は、あなたの仕事をより簡単にします。 |

最高のオフィス生産性向上ツール
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト 工具 (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...) | 12 変換 工具 (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット 工具 (高度な結合行, 分割セル、...) | ... もっと |
Excel スキルを強化する Kutools for Excel、そして今までにない効率を体験してください。 Kutools for Excel 生産性を向上させ、時間を節約するための 300 を超える高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Office Tab Office にタブ付きインターフェイスを導入し、作業を大幅に簡素化します
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
