ここから本文です

エクセル VBA ボタンを押したら 範囲 A列~E列で最終セルからA5までを印刷設定範...

hat********さん

2019/6/410:57:25

エクセル VBA ボタンを押したら
範囲 A列~E列で最終セルからA5までを印刷設定範囲にしたいのですが
すみません 教えて頂けますでしょうか。

例 最終行B24に入力があった場合 A5:B24
例 D25に入力があった場合 A5:E25

補足誤 例 最終行B24に入力があった場合 A5:B24
正 例 最終行B24に入力があった場合 A5:E24

A5,E&quot,Rows.Count,D25,E25,最終行B24,エクセル

閲覧数:
42
回答数:
2
お礼:
100枚

違反報告

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

プロフィール画像

カテゴリマスター

hot********さん

2019/6/413:24:22

「A:E列で何か値があるセルを最終行から探す」と言うFind命令を使う場合です。

Sub sample()
ActiveSheet.PageSetup.PrintArea = "A5:E" & Range("A:E").Find("*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
ActiveSheet.PrintPreview
End Sub

質問した人からのコメント

2019/6/4 17:37:29

ありがとうございました。とても簡単な式で重宝しています。
初めの方の回答は初心者の私には応用がきくコードなので
C列は除きたい時とかはそのCコードを消せばいいのですよね。
こちらもとてもいいコードを教えて頂きました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

nan********さん

2019/6/411:25:03

A~E列の最終行を求めて
Application.WorksheetFunction.Maxで
最大値の行数を取得します。

参考にどうぞ
Sub Macro1()

Dim row As Long

row = Application.WorksheetFunction.Max( _
Cells(Rows.Count, "A").End(xlUp).row, _
Cells(Rows.Count, "B").End(xlUp).row, _
Cells(Rows.Count, "C").End(xlUp).row, _
Cells(Rows.Count, "D").End(xlUp).row, _
Cells(Rows.Count, "E").End(xlUp).row)

ActiveSheet.PageSetup.PrintArea = Range(Cells(5, "A"), Cells(row, "E")).Address
ActiveSheet.PrintPreview
End Sub

あわせて知りたい

この質問につけられたタグ

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

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

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

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

閉じる

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

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

閉じる