アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの印刷について質問です。
B列に1~4000までの数字が入っているのですが、その中で1~1000、1001~2000、2001~3000、3001~4000までの行を、P列まで、と区切って印刷するのに、毎回手作業で印刷範囲を設定して印刷しています。
マクロなどを組むことで自動かする方法はないかと思い質問させていただきました。
どなたかアドバイスいただけないでしょうか??

A 回答 (2件)

別のシートに、1~1000、1001~2000と、


コピー、形式を選択して貼り付け、リンク貼り付け、をして、シートごとに印刷すればよいでしょう。

全てのシートを選ぶ場合は、Shiftを押したままシートを選択して、印刷すれば1回の操作で済みます。
飛び飛びの場合は、Ctriを押して印刷するシートを選んでください。

印刷範囲ですが、右クリックで、範囲を選び、表示しないにすると、表示をしているところだけが印刷されます。
    • good
    • 0

こんばんは!



1行目は項目行でデータは2行目以降にあり、1~4000までの数値がB列にあるとします。

コツコツ手作業でやる場合は
まずA~P列全体を「印刷範囲」に設定しておきます。
次にB列でオートフィルタを掛ける → 「数値フィルタ」 → 「指定の範囲内」 → 「1」以上 かつ 「1000」以下
としてOK
これで印刷すれば 1~1000 のデータが印刷されます。
同様に「1001」以上「2000」以下・・・と4000まで行います。

どうしてもVBAというコトであれば一例です。
シートモジュールにしてください。

Sub Sample1()
Dim i As Long, lastRow As Long
With ActiveSheet
lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To 4
.Range("A1").AutoFilter field:=2, Criteria1:=">=" & (i - 1) * 1000 + 1, _
Operator:=xlAnd, Criteria2:="<=" & i * 1000
.PageSetup.PrintArea = Range(.Cells(2, "A"), .Cells(lastRow, "P")).SpecialCells(xlCellTypeVisible).Address
.PrintPreview '←印刷プレビューだけにしています。★
.PageSetup.PrintArea = ""
Next i
.AutoFilterMode = False
End With
End Sub

※ 「★」印の行を見てもらえばわかると思いますが、
「印刷プレビュー」でやめています。m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!