
No.2ベストアンサー
- 回答日時:
>4~49行がデータ
>50~95行がデータ
この行数、つまり45行入るかどうかは、このマクロは考慮されておりません。最初、プレビューから、マージンなどで、調整して納まるようにしてください。
また、一応、垂直改行は考慮はしていますが、1ページに収まらない右にはみ出た分に関しては、処理できません。
もし、とのようなスタイルでも、希望の行数にするなら、手動改ページを入れるなど、別のマクロが必要です。
'//
Sub PrintOutMacro()
Dim i As Long
Dim sPrintArea As String
Dim HPage As Long
Dim VPage As Long
Dim PageTotal As Long
Dim FirstPage As Integer
Dim LastRow As Long
Dim RightCol As Long
With ActiveSheet
'-------------------------------
'印刷範囲再設定
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
RightCol = Cells(4, Columns.Count).End(xlToLeft).Column
sPrintArea = Range("A4", .Cells(LastRow, RightCol)).Address
.PageSetup.PrintArea = sPrintArea
'-------------------------------
FirstPage = 1 '最初のページ
On Error Resume Next
'ページ数の算出
HPage = ExecuteExcel4Macro("COLUMNS(GET.DOCUMENT(64))") - 1
VPage = ExecuteExcel4Macro("COLUMNS(GET.DOCUMENT(65))")
On Error GoTo 0
PageTotal = Int(HPage * VPage) 'ページ総数
'誤動作のための保守
If PageTotal <= 2 Then
If MsgBox("ページが、" & PageTotal & "枚しかありませんがよろしいですか?", _
vbQuestion + vbOKCancel) = vbCancel Then Exit Sub
End If
For i = FirstPage To PageTotal
If i = 1 Then
.PageSetup.PrintTitleRows = "$1:$3"
Else
.PageSetup.PrintTitleRows = "$3:$3"
End If
.PrintOut From:=i, To:=i ', Preview:=True ''外すとプレビューになる
Next i
End With
End Sub
'///
WindFallerさん
回答ありがとうございました。
プレビューで確認できました。
素人なのでWeb上で検索しながらコピーしてコードを作っているのですが
たびたび壁に当たります(^^;
これでまたゴールに近づくことができました。
また質問するかと思いますのでよろしければご教授お願いします。
ありがとうございました。
No.1
- 回答日時:
Worksheet.PrintOut メソッドは、その引数により、印刷するページを指定できます。
つまり 1 ページ目だけ印刷し、1 ~ 2 行目の値を Range.ClearContents で消し、改めて 2 ページ目以降を指定して印刷すればいいですね。その後さらに、消した文字列を同じ範囲に記入しておけばいいですね。
あるいは、あらかじめ 1 ~ 2 行目に記入しておいた IF 関数によりタイトルを表示させ、IF が参照しているスイッチとなるセルの値を書き換えると、タイトルが非表示になるようにしておいてもいいです。上と同様に、印刷するページごとにスイッチの値を上書きしていけばいいですね。
各メソッドなどについては、VBE 画面のヘルプを確認してください。
MarcoRossiItalyさん
回答ありがとうございました。
説明不足ですみません。
上司がエクセル上で確認するケースもあるので、印刷プレビューの時点で
1ページ目と2ページ目以降の表示を変えたかったのです。
ページ設定でタイトル行を3行目にすると表示されるのですが、50行目に
小計行があり、ページを追うごとにずれてしまい、うまく表示できませんでした。
IF関数の入れ方などもっと調べてみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
病院側から早く来てくださいと...
-
血液検査の結果が悪くefgrの値...
-
腕を見たら黄色くなってる部分...
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
Excel 数値の前の「 ' 」を一括...
-
値が入っているときだけ計算結...
-
Excel 0目標に対して数字があ...
-
EXCELで条件付き書式で空白セル...
-
小数点以下を繰り上げたものを...
-
VLOOKUP関数を使用時、検索する...
-
2つの数値のうち、数値が小さい...
-
EXCELの条件付き書式で数式を空...
-
リンク先のファイルを開かなく...
-
化合物のモル吸光係数データベ...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
アクエリアスが苦く感じる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報