dポイントプレゼントキャンペーン実施中!

こんにちは

A列 B列
品番 色
1000 赤
1000 黄
1001 黄
1001 青
1002 青
1002 赤
 ・
 ・
 ・

このような表があります。

これを、

-----------------
品番 色
1000 赤
1000 黄
-----------------
品番 色
1001 黄
1001 青
-----------------
品番 色
1001 黄
1001 青
-----------------

や、
-----------------
品番 色
1001 青
1002 青
-----------------
品番 色
1000 赤
1002 赤
-----------------
品番 色
1000 黄
1001 黄
-----------------

の様に 品番毎や、色毎に改ページしてプリントする方法を教えて下さい。
VBAで設定できるみたいなのですが、VBAは初心者です。
設定方法を教えて頂けないでしょうか。

Excel2007です。

A 回答 (2件)

方法1)



品番が切り替わるごとに,改ページを挿入します。
各印刷頁にタイトル(「品番 色」)を印刷するには,「印刷タイトル行」を設定します。
(印刷頁ごとに「品番 色」行をイチイチ挿入したりはしません)


手順:
ALT+F11を押す
現れたシートで挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 dim i as long
 activesheet.pagesetup.printtitlerows = "$1:$1"
 activesheet.resetallpagebreaks

 for i = 2 to range("A65536").end(xlup).row
  if cells(i, "A") <> cells(i + 1, "A") then
   activesheet.hpagebreaks.add cells(i + 1, "A")
  end if
 next i
end sub

ファイルメニューから終了してエクセルに戻る
シートを表示し,ALT+F8を押してマクロを実行する。




方法2:マクロを使わない方法
ページ設定ダイアログのシートタブで,1行目を「印刷タイトル行」として設定します

ご利用のエクセルのバージョンが不明ですが,Excel2003以前ではデータメニューから集計,Excel2007以降ではデータタブから小計を開始します。
グループの基準は「品番」列とし,とりあえず「色」の「データの個数」などを集計させることとして,「グループごとに改ページを挿入する」のチェックを入れて集計行を挿入させます。
    • good
    • 0

改ページを設定する個所(行だと思うが)を割り出すコードをベンようすること。


簡単なアルゴリズムであろう。
ソート法が簡単だろう。
その列で番号や色でソートしておく。
すると同じ番号や色は、近隣の行に集る。
問題にしている列で、上から判別していてt
前の行と同じなら次の行をさす。
違う場合には、直前行に改ページ魚入れる。
ーー
改ページのコードはマクロの記録や、Googleで「エクセルVBA 改ページ 挿入」で照会すること。
敢えてコードは書かない。自分で調べること。
VBAの解説書にも例があるだろう。
    • good
    • 0

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