• ベストアンサー

エクセルで、改ページした後、データに連番を振りたい

初心者です。 エクセル2003のソフトを使っています。 300件のデータベースがあります。 『改ページの挿入』をして10ページにしましたが 各ページのデータに、1番から順番に振りたいですが・・ 2ページも1番から・・ といった具合です。 簡単に出来る方法はありますか? 1ページずつ、オートフィルター等で連番を振るしかないでしょうか? 便利な方法がありましたら教えていただけないでしょうか? どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.8

No.4です。 COUNTIFの方法としては A列に連番を入れ、B列にカウントする番号があるとすると、 A1=COUNTIF($B$1:$B1,B1) →下にフィルコピー 引数の範囲の$マークに気をつけてください。

sihoku
質問者

お礼

試してみました。できました! 詳しく説明してくださりありがとうございました。 色々なやり方がありとても勉強になります。 その中で、簡単にでき、私の思った結果が出たので chonamiさんのご回答をベストアンサーにしたいと思います。 皆さん、色々なご回答をありがとうございました。 とても勉強になりました。 この場を借りてお礼申し上げます。 本当にありがとうございました!

その他の回答 (7)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.7

#5です。 書き落としました、済みません。 1.連番を振る列の番号は、実際の状況に応じて下記の数字を変更して下さい。  A列なら1、B列なら2という具合に。 Const myColumn As Long = 1 '連番を振る列番号 2.元のデータ上に書き込みますので、連番を振る列番号の設定が間違っていると  データを壊してしまいますので、必ずバックアップを取ってから実行してみて下さい。

sihoku
質問者

お礼

参考にさせていただきます。 ありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.6

#5です。 先の回答の、Sub ~ End Subの部分を、 下記URLなどをご参考に標準モジュールに貼り付けてください。 http://www.happy2-island.com/excelsmile/smile01/capter00400.shtml その後、目的のシートが表示された状態で、メニューバーのツール/マクロ/マクロから、貼り付けたマクロを実行していただければ良いです。 日本語で書いた部分は、貼り付けても悪さはしない様にコメントにしてありますので、そのままでも消しても大丈夫です。

sihoku
質問者

お礼

詳しくご丁寧にありがとうございました! 私はまだまだ勉強不足なので マクロの事を勉強して試みてみます。 参考にさせていただきます! ありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.5

改ページの制御はやった事が無かったので、マクロでやってみました。 バラバラの行数で改ページしてあっても対応できます。xl2000で試しています。 Sub Test() Dim i As Long, j As Long, counter As Long Dim myPrintArea As Range, currentRange As Range Dim firstRow As Long, lastRow As Long Const myColumn As Long = 1 '連番を振る列番号 Application.ScreenUpdating = False Set myPrintArea = Range(ActiveSheet.PageSetup.PrintArea) firstRow = myPrintArea.Rows(1).Row lastRow = myPrintArea.Rows(myPrintArea.Rows.Count).Row With ActiveSheet Set currentRange = ActiveCell .Range("A" & .Rows.Count).Activate ' Excelのバグ対策で印刷範囲から逃がす必要があるらしい For i = 1 To .HPageBreaks.Count counter = 1 For j = firstRow To .HPageBreaks(i).Location.Row - 1 Cells(j, myColumn).Value = counter counter = counter + 1 Next j firstRow = .HPageBreaks(i).Location.Row Next i counter = 1 For j = firstRow To lastRow Cells(j, myColumn).Value = counter counter = counter + 1 Next j currentRange.Activate End With Application.ScreenUpdating = True End Sub

sihoku
質問者

お礼

ご回答ありがとうございます。 初心者なので、マクロを経験したことがないのですが、 マクロの登録で この記述を登録してみました。 やり方としてはこれでいいでしょうか? 日本語で書いてある部分は入力しないほうがいいですか? 勉強不足ですみません。 よろしくお願いします。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.4

改ページには何か規則性があるのでしょうか? 単純に行数で区切っているのなら、既回答でできるかと思いますが、例えば何かの項目ごと(会社ごととか品名ごととか)で区切っているのでしたら、COUNTIFなどで上から数えていく式などを入れておくこともできます。

sihoku
質問者

お礼

ご回答ありがとうございます。 項目(品番ごと)にページを区切っていきます。 COUNTIFを使う場合、どのように式を入力すればいいですか? 度々すみません。よろしくお願いします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No1,2です。 参考のためにページ番号を付けた形でページごとの番号を振るのでしたら例えば次の式をA1セルに入力し下方にオートフィルドラッグします。 =ROUNDUP(ROW(A1)/30,0)&"-"&MOD(ROW(A1)-1,30)+1

sihoku
質問者

お礼

ご丁寧にありがとうございました! 参考にさせていただきます!

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 例えば30行ごとに改ページがされているとしたら次の式をA1セルに入力して下方にオートフィルドラッグします。 =MOD(ROW(A1)-1,30)+1 これでページごとに1番から番号が振られます。

sihoku
質問者

お礼

ご回答ありがとうございます! びっくりしました。 とても参考になりました!

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

「表示」のメニューから「ヘッダーとフッター」を選択します。 ページの下にページ番号を表示するのでしたら「フッターの編集」をクリックします。 中央に配置するのでしたら「中央部」にカーソルを移して、その上の列にあるAの右側のボタンをクリックします。 そのごにOKすれば改ページごとに連番のページ番号が付けられます。

sihoku
質問者

お礼

早々のご回答ありがとうございます。 ページの下に、ページ番号を振るのではなく、 データーベースの一番左に列を挿入して、 データに連番を振りたいのです。 簡単に出来る方法を知りたいのですが・・ 説明の仕方が下手ですみません。 よろしくお願いします。

関連するQ&A