ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
会員登録
x

or

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

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

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

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

OfficeタブOfficeでタブ付き編集とブラウジングを有効にし、作業をより簡単にします...
Kutools for Excelは、ほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最も使用されている式や複雑な式、チャート、その他をお気に入りに追加し、将来的にすぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換...
  • マージツール:複数のワークブックとシートを1つに; データを失うことなく複数のセル/行/列を結合します。 重複する行と合計をマージ...
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 1つのワークブックから複数のExcel、PDF、またはCSVファイル。 1列から複数列...
  • 貼り付けスキップ 非表示/フィルターされた行。 カウントアンドサム 背景色別; メーリングリストを作成し、 セルの価値でメールを送信する...
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 ソート 週、日、頻度などにより; フィルタ 太字、式、コメントで...
  • 300の強力な機能以上。 Office 2007-2019および365で動作します。 すべての言語をサポートしています。 企業または組織に簡単に展開できます。

矢印青い右の泡 VBAコードでセルの値に基づいて特定のページを印刷する


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

1。 AltキーとF11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。 次に、をクリックします インセット > モジュール.

2。 そうして アプリケーション用Microsoft Visual Basic ウィンドウが表示されたら、次の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 ウィンドウがポップアップしたら、次の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 窓。

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

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


矢印青い右の泡関連記事:


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

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

OfficeタブはOfficeにタブ付きインターフェイスを提供し、作業をより簡単にします

  • Word、Excel、PowerPointでタブ付き編集と読み取りを有効にする、出版社、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します。
オフィシタブ底
Say something here...
symbols left.
You are guest ( Sign Up? )
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 · 4 months 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 · 3 months 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