ここから本文です

Excelで印刷範囲を指定するマクロ(VBE)について質問です。 Excelにてデーターが...

アバター

ID非公開さん

2018/7/1215:32:41

Excelで印刷範囲を指定するマクロ(VBE)について質問です。

Excelにてデーターが入力されたページまで自動で印刷範囲選択するということがしたいです。

1行目をタイトル行とし、毎ページタイトル行として表示させています。
また1つでもデーターが入ると関数によりF列のページ一番下に合計が表示されるようにしています。
その合計が表示されている場合、そこまでを印刷したいです。
Excelの知識がない方が使うため、自動で印刷範囲選択されないといけません。
またF列にはすべてIF関数が入っており、見た目は空白でも数式データーが入っています。

Private Sub Workbook_BeforePrint(Canel As Boolean)
Dim i As Integer
With Worksheets("Sheet1")
For i = Cells(Rows.Count, "F").End(xlUp).Row To 1 Step -1
If Cells(i, "F") <> "" Then Exit For
Next i
Cells(i, "F").Offset(1).Select
.PageSetup.PrintArea = "$A$1:$F$" & i
End With
End Sub

と記述しているのですが、範囲選択されません。
VBEのThisWorkbookというところに記述していますが、1台のMacでしかうまくいきませんでした。
当方、マクロに関しては初心者です。
状況説明が分かりづらいですが、ご教授よろしくお願いいたします。

閲覧数:
61
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2018/7/1216:12:38

For i = Cells(Rows.Count, "F").End(xlUp).Row To 1 Step -1
If Cells(i, "F") <> "" Then Exit For
Next i
Cells(i, "F").Offset(1).Select



For i = .Cells(Rows.Count, "F").End(xlUp).Row To 1 Step -1
If .Cells(i, "F") <> "" Then Exit For
Next i
.Cells(i, "F").Offset(1).Select

試してみてください。

  • アバター

    質問者

    ID非公開さん

    2018/7/1216:23:56

    ご回答ありがとうございます。

    コピペしてみましたが、うまく行かず、印刷プレビューを出したあとF5でPrintAreaを選ぶと見えるデータのない3ページまで選択されてしまいました。
    3ページ目までIF関数が入っている状態の空白なので、最終行として読んでしまっているのでしょうか…

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる