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

エクセル表を縦方向、横方向とも複数ページに印刷するとき自動ページで縦方向の印刷には1-1~1-10(縦方向に10ページある場合)次の列の印刷には2-1~2-10と表示したいのですが良い方法がありますでしょうか?。頭の1-、2-はタイトル行のセルに打ち込んでおけば出来るのですが、後のページを自動にすると2列めからは11番から始まります。2列目の一番上のページから又1~10と表示したいのです。説明がわかりづらいとおもいますがよろしくお願いします。

A 回答 (1件)

なかなか回答が出ないので、私も操作による設定や勿論関数式では出来ないと思います。

それでVBAで出来そうという回答例を上げます。ご参考に。
Sub test01()
m = 1: n = 1 'ページ番号の初期設定
Worksheets("sheet1").Activate
For n = 1 To 2 '縦2枚印刷
For m = 1 To 3 '横3枚印刷
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = n & "-" & m
.RightFooter = ""
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlOverThenDown
.BlackAndWhite = False
.Zoom = 100
End With
Worksheets("sheet1"). _
Range(Cells((n - 1) * 56 + 1, (m - 1) * 9 + 1), Cells(n * 56, m * 9)). _
PrintOut Copies:=1, Collate:=True
Next m
Next n
End Sub
(結果)
私はテストでA-U列、1-71行の表を作り、A4用紙に印刷しました。フータに1-1,1-2,1-3,2-1,2-2,2-3が出て来ました。
(説明)
(1)m横ページ数
   n縦ページ数を表す
(2)mは3まで繰り返していますが、今回はU列までの表だったものですから、目視で3枚目までといれました。
印刷プレビューでA-I、JーR、S以後になることが
判ったので、それを取り入れています。
最終列を捉えられるので、1枚が何列分はいるか判れば
横何枚になるかは計算できますが、今回は複雑にしないため略しています。
またmは2まで繰り返していますが、縦は1-56、57-以後になるのでそれも取り入れています。
最終行も捉えられるので、1枚が行分はいるか判れば
縦何枚になるかは計算できますが、今回は複雑にしないため略しています。
(2)フッタにn-mの形でページ数印刷しています。
.CenterFooter = n & "-" & m
(3)Z型に印刷するため印刷方向を.Order = xlOverThenDownにしています。
(4)全体的に、印刷のマクロに記録を取れば、上記と
似たものが出ますので参考になります。一部削除したのと
(2)と(3)と(5)の部分を改変しています。
(5)(4)のようにSheet全体を印刷でなく、
Sheet1の印刷する範囲を指定してRange(Cells((n - 1) * 56 + 1, (m - 1) * 9 + 1), Cells(n * 56, m * 9)). 印刷しています。PrintOut Copies:=1, Collate:=True
    • good
    • 0
この回答へのお礼

どうも有り難うございます。正月休みに回答頂いた内容で試してみます。私にはレベルが高すぎて無理かもしれませんが頑張ってみます。

お礼日時:2002/12/26 21:42

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