Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

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

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

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


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


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

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

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

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 for Applications ウィンドウがポップアップします。次の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

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

3。 押す 他の + Q を閉じる Microsoft Visual Basic for Applications 窓。

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

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


関連記事:


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

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

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ryan · 1 years ago
    This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      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
      • To post as a guest, your comment is unpublished.
        Manny · 6 months ago
        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