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

エクセル初心者なので、上手く説明ができるかわからないのですがお願いします。
印刷をする際に、行数とある特定の文字列で自動的にページを分けるマクロを作成したいです。
シートには1年生から3年生までの個人情報が書かれておりまして、それを30行で次のページと学年ごとに次のページというふうにしたいです。
1年生 佐藤
1年生 田中

2年生 石田
2年生 加藤

3年生 岡田
3年生 鈴木

このようなシートです。学年ごとに人数はバラバラです。
よろしくお願いします。

質問者からの補足コメント

  • 増えた生徒に関しましては、
    生徒名簿は別ファイルで管理しているので、増えるたびに学年ごとにアイウエオ順に並び替えてから
    貼り付けを行う予定です。
    (こちらも自動で追加できればいいのですが、そこまで辿りつかず。。。)

    学年ごとに1枚で出力したいです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/08/03 07:19

A 回答 (5件)

>学年ごとに1枚で出力したいです。



>生徒数がどんどん増えていくので自動で改ページの設定をしたかったのです。説明不足ですみません。

この盾と矛をどう整理すれば?

ちなみに設定とかせずともページからあふれれば
自動的にページは変わりますが、
それの何が不都合かを示さなければ
伝わらないのではないかと。
    • good
    • 0

マクロを使うまでもなく自動でできるじゃない?

    • good
    • 0

増えた生徒はどうなりますか?


2年生が増えたら今いる2年生の後ろに配置するのですか?
2年生は2年生でアイウエオ順に並べるのですか?

1年生は1年生だけで1枚に出力しますか?
2年生は2年生だけで1枚に出力しますか?
この回答への補足あり
    • good
    • 0

改行したいセルの右下のセルで


ページレイアウト>改ページ
したらいいのでは?
    • good
    • 0
この回答へのお礼

ありがとうございます。
生徒数がどんどん増えていくので自動で改ページの設定をしたかったのです。説明不足ですみません。

お礼日時:2017/08/01 21:00

こんんちは



わからないところがあるので、適当に設定しています。
 ・A列に学年が表示されており、1行目からデータが始まる
 ・学年と学年の間には空白行などなく詰めて記入されている
 ・学年が変わる、又は、連続30行毎に水平の改ページを入れたい
という仮定で、以下を作成しています。
異なる点があれば、適宜修正願います。

Sub Sample()
Dim rw As Long, rwCount As Integer
Dim str As String

Const rwMax = 30 '最大行数

With ActiveSheet
 .ResetAllPageBreaks
 str = .Cells(1, 1).Value
 rwCount = 1
 For rw = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
  rwCount = rwCount + 1
  If .Cells(rw, 1).Value <> str Or rwCount > rwMax Then
   .HPageBreaks.Add Before:=.Cells(rw, 1)
   str = .Cells(rw, 1).Value
   rwCount = 1
  End If
 Next rw
End With

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
例えば、B列に学年が入っており、データが5行目から始まる場合はどこを直せば良いですか?

お礼日時:2017/08/01 20:58

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