
シート1のA列に以下の様な数式が200行近くあります。
・シート1のA列内容
=IF(Sheet2!A1="","",Sheet2!A1)
=IF(Sheet2!A1="","",Sheet2!A2)
空欄
=IF(Sheet2!A1="","",Sheet2!A4)
=IF(Sheet2!A1="","",Sheet2!A5)
空欄
=IF(Sheet2!A1="","",Sheet2!A6)
=IF(Sheet2!A1="","",Sheet2!A7)
・
・
・
他の列にはなにもありません。
シート2で文字列を上から入力していき、
シート1に表示された部分を印刷しております。
日によってシート2で入力する行数は異なります。
A1から文字列が入っている最後の行まで印刷できればいいのですが、
そのまま印刷すると空白の「""」の計算部分まで印刷範囲になり、
ページ数が必ず3ページになります。
毎回入力した部分の行までのページ数を印刷時に指定して印刷しています。
急いでいる時などページ範囲を指定するのを忘れることが多く、
そのまま全ページ印刷されて白紙の用紙が排出されるのが面倒です。
マクロ等でも良いので自動で「""」の部分が印刷されない又は印刷範囲外にする
又は、文字列が入っている部分までを印刷する方法、または「""」の数式結果の部分を削除する方法は無いでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは
>マクロ等でもよいので
とのことなので、マクロでの回答です。
印刷範囲を設定するだけでは手間がほとんど変わらないので、ボタン等(またはコマンド)に登録して、これを実行することで印刷までするようにしてあります。
Sub Sample()
Dim rw As Long
For rw = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(rw, 1).Value <> "" Then Exit For
Next rw
ActiveSheet.PageSetup.PrintArea = Cells(1, 1).Resize(rw, 2).Address
ActiveSheet.PrintPreview
End Sub
※ 上記では印刷するかわりに、印刷プレビューにしてあります。
PrintPreviewの部分をPrintOutにすれば、直接印刷するようになります。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
※ 1列のみで良いものと推察しますが、印刷範囲の指定はB列まで含む範囲にしてあります。
これは、印刷対象が無い場合に、印刷範囲の設定を1セルだけにすると、警告がでるのを避けるためです。(A列だけでページ幅全部を使ってしまっているような場合には、A列のみの指定に変えてください)
ご回答ありがとうございます。
""が発生までカウントするのはこのように記述すれば良いのですね。
意図した場所まで自動で印刷範囲が指定されワンボタンでばっちり印刷まで行うことが出来ました。
警告の件まで教えて頂きありがとうございました。
No.1
- 回答日時:
こんにちは!
一案です。
印刷する前に「空白以外」でフィルタを掛けてみてはどうでしょうか?
その一連の操作をVBAでやってみました。
↓のコードをSheet1のシートモジュールにして、マクロを実行してみてください。
Sub 印刷()
Range("A:A").AutoFilter field:=1, Criteria1:="<>"
If Cells(Rows.Count, "A").End(xlUp).Row > 1 Then
ActiveSheet.PrintPreview '//★//
Else
MsgBox "印刷k可能データなし"
End If
ActiveSheet.AutoFilterMode = False
End Sub
※ とりあえず「印刷プレビュー」でやめています。
すぐに印刷したい場合は「★」の行を
>ActiveSheet.PrintOut
に変更してください。m(_ _)m
ご回答ありがとうございます。
3、6・・・行目の空欄も印刷範囲に入れる必要がありました。
説明不足がありお手数おかけしまして申し訳ございません。
フィルタはこうやってかけるのですね。
今後の参考にさせて頂きます。
丁寧に教えて頂きまして誠にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
数式による空白を無視して印刷するマクロ
Excel(エクセル)
-
エクセルの空白の行を印刷しない方法
Excel(エクセル)
-
エクセルの空白セルをのぞいて印刷するには?
Excel(エクセル)
-
-
4
空白セル(関数入ってます)を印刷しない
Excel(エクセル)
-
5
エクセルで空行を印刷しない方法
Excel(エクセル)
-
6
OFFSET関数を使用した印刷範囲の自動変更について
Excel(エクセル)
-
7
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
-
8
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
9
Excel print_areaに設定した関数が消えてしまう
Excel(エクセル)
-
10
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 同じシートで印刷ペ...
-
エクセルで白紙ページを消す方...
-
エクセルの全シートをPDFにでき...
-
Excel 複数のシートの印刷順の...
-
エクセルで印刷するとき、連番...
-
差込印刷で郵便番号のハイフン...
-
エクセル 2upできません。
-
エクセルで特定の行のみ印刷したい
-
エクセルの長い表を3列で印刷...
-
エクセルで図形やオートシェイ...
-
エクセルで謎の2枚目が印刷される
-
エクセル 印刷の向きを変えた...
-
B5縦で作ったエクセル文書をA4...
-
エクセルをメールに添付した時
-
数式による空白を無視して印刷...
-
エクセルデータのハイフンだけ...
-
セルに印刷日時を残したい
-
下の部分をカットして印刷
-
エクセルだけ印刷しても白紙です。
-
エクセルでの印刷
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 同じシートで印刷ペ...
-
エクセルで白紙ページを消す方...
-
Excel 複数のシートの印刷順の...
-
エクセルで印刷するとき、連番...
-
エクセルで謎の2枚目が印刷される
-
数式による空白を無視して印刷...
-
エクセルの長い表を3列で印刷...
-
エクセル 2upできません。
-
エクセルの全シートをPDFにでき...
-
差込印刷で郵便番号のハイフン...
-
B5縦で作ったエクセル文書をA4...
-
VBAでホルダー内のPDFを一括印...
-
エクセルだけ印刷しても白紙です。
-
Excelで印刷すると、ルビがずれ...
-
Excelの白黒印刷について
-
【マクロ】オートフィルターのA...
-
エクセル365のVBAで困ってい...
-
エクセルで図形やオートシェイ...
-
Excelでセルに色をつけても、モ...
-
エクセルの印刷で前のページの...
おすすめ情報