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

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

Excelのセル値に基づいて特定のページまたはワークシートを印刷しようとしたことがありますか? そしてそれを達成する方法は? この記事のメソッドは、それを詳細に解決するのに役立ちます。

VBAコードを使用してセル値に基づいて特定のページを印刷する
VBAコードを使用してセル値に基づいて特定のワークシートを印刷する


VBAコードを使用してセル値に基づいて特定のページを印刷する

たとえば、現在のワークシートのセルA1にページ番号1を入力すると、現在のワークシートのページ1などの特定のページが自動的に印刷されるようにします。 あなたはそれを達成するために次のようにすることができます。

1.印刷するページ番号が含まれているセルを選択し、を押します。 他の > F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。 次にクリック インセット > モジュール.

2.次に、 アプリケーション向け Microsoft Visual Basic ウィンドウがポップアップします。次のVBAコードをコピーして貼り付けてください。 Code 窓。

VBAコード:セル値に基づいてページを印刷する

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3。 押す F5 コードを実行するためのキー。 ポップアップで Kutools for Excel ダイアログボックスで はい ボタンをクリックして特定のページを印刷するか、 いいえ 印刷したくない場合は、ボタンをクリックしてダイアログボックスを終了します。 スクリーンショットを参照してください:

次に、現在のワークシートの特定のページのプレビューウィンドウが開きます。をクリックしてください。 印刷物 ボタンをクリックして印刷を開始します。


VBAコードを使用してセル値に基づいて特定のページを印刷する

このシートのセルB2の値が数値1001に等しいときに、アクティブなワークシートを印刷するとします。次のVBAコードでそれを実現できます。 次のようにしてください。

1.右クリックします シートタブ セルの値に基づいて印刷するものをクリックし、 コードを表示 右クリックメニューから。

2.次に、 アプリケーション向け Microsoft Visual Basic ウィンドウがポップアップします。次のVBAコードをコピーしてコードウィンドウに貼り付けてください。

VBAコード:セル値に基づいてワークシートを印刷します

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

Note:必要に応じて、コード内のセルとセルの値を変更できます。

3。 押す 他の + Q を閉じる アプリケーション向け Microsoft Visual Basic 窓。

セルB1001に番号2を入力すると、 Kutools for Excel ダイアログボックスが表示されたら、をクリックしてください はい ボタンをクリックして印刷を開始します。 またはをクリックします いいえ ボタンを押して、印刷せずにダイアログボックスを直接終了します。 スクリーンショットを参照してください:

ヒント: 現在のワークシートの1、6、9ページなどの連続していないページを直接印刷する場合、またはすべての偶数ページまたは奇数ページのみを印刷する場合は、 指定されたページを印刷する ユーティリティpf Kutools for Excel 以下のスクリーンショットのように。 あなたは行くことができます 30 日間、制限なしでソフトウェアを無料でダウンロードできます.


関連記事:

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

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

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

kteタブ201905


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
This comment was minimized by the moderator on the site
Hi Ryan,
If you want to print consecutive pages such as 1-5 in a worksheet based on a cell value, please specify a cell such as A1 as Text formatting, type 1-5 into it, keep this cell selecting, and then run the below VBA code.

Sub Print_Pages()
Dim xPage As String
Dim xYesorNo As Integer
Dim xI As String
Dim xPArr() As String
Dim xIS, xIE, xF, xNum As Integer
xPage = ActiveCell.Value
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
xPArr() = Split(xPage, "-")
If UBound(xPArr) = 0 Then
If IsEmpty(xPage) And IsNumeric(xPage) Then
MsgBox "Please specify a cell and enter a page in cell"
Exit Sub
End If
xNum = Int(xPage)
ActiveSheet.PrintOut from:=xNum, To:=xNum, preview:=True
ElseIf UBound(xPArr) = 1 Then
On Error GoTo Err01
xIS = Int(xPArr(0))
xIE = Int(xPArr(1))
If xIS < xIE Then
For xF = xIS To xIE
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
Next
Else
For xF = xIE To xIS
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
Next
End If
Else
MsgBox "Please enter the valid data", vbOKOnly, "Kutools for Excel"
Exit Sub
End If
Else
Exit Sub
End If
Exit Sub
Err01:
MsgBox "Please enter the correct page scope", vbOKOnly, "Kutools for Excel"
End Sub
This comment was minimized by the moderator on the site
Thank you. I have the same issue I want to print pages based on cell value. Lets say variable changes i.e page 1-5 and then some time 2-6. So I have a field which will calculate and will put that in text format as suggested.But for some reason it doesnt work for me. It doesnt prints any pages.Can you please advise
This comment was minimized by the moderator on the site
Did you ever figure out how to get this working?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations