• ベストアンサー

【Excel】 改ページ箇所を設定するVBA

こんにちは B列 aa aa aa aa bb bb bb ・ ・ ・ となっています。 印刷のときにB列の値が変わるところで改ページしたいと思います。 手動で設定しかけましたが、数百ページあるので、手動では大変です。 VBAで設定可能と言うことなのですが、VBAは初心者です。 設定方法を教えて頂けないでしょうか。 Excel2003です。

  • hee1
  • お礼率32% (137/422)

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

  • ベストアンサー
  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.1

 そのシートのタブ(シートの下の"Sheet1"とかあるところ)を右クリックして、 「コードの表示」をクリックします。  MicrosoftVisual Basic というウインドが 開くので、右側の真っ白けのところに次のコードをコピー・貼り付けをします。 ★★エラー処理等は考えていませんので、バックアップを取ったファイルで試してください。★★ '----------------ここから Sub test() Dim R As Long Dim RMax As Long RMax = Range("B65536").End(xlUp).Row For R = 2 To RMax If Cells(R, 2) <> Cells(R - 1, 2) Then ActiveSheet.HPageBreaks.Add before:=Cells(R, 1) End If Next R End Sub '----------------ここまで  元のエクセルの画面にもどって、メニューから ツール-マクロ-マクロ とすすみ、 Sheet1:test を選択して「実行」をクリックします。

hee1
質問者

お礼

早速回答頂きありがとうございました。 手順まで丁寧に教えて頂きありがとうございました。 大変上手くできました。 手動でやっていたらどうなっていたでしょうか・・・。 ありがとうございました。

関連するQ&A

  • 【Excel】 改ページ場所を設定するVBA

    こんにちは A列 B列 品番 色 1000 赤 1000 黄 1001 黄 1001 青 1002 青 1002 赤  ・  ・  ・ このような表があります。 これを、 ----------------- 品番 色 1000 赤 1000 黄 ----------------- 品番 色 1001 黄 1001 青 ----------------- 品番 色 1001 黄 1001 青 ----------------- や、 ----------------- 品番 色 1001 青 1002 青 ----------------- 品番 色 1000 赤 1002 赤 ----------------- 品番 色 1000 黄 1001 黄 ----------------- の様に 品番毎や、色毎に改ページしてプリントする方法を教えて下さい。 VBAで設定できるみたいなのですが、VBAは初心者です。 設定方法を教えて頂けないでしょうか。 Excel2007です。

  • エクセル2003のVBAを教えて

    エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、    データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目  (1):種類だけを(C列)に取り出す。  (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。  (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列)   文字(B列) AA       あああ BB       いいい BB       いい BB       いいい CC       うう CC       うう DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列)    文字(B列) あああ AA        あああ いいい BB        いいい BB        いいい BB        いいい うう CC        うう CC        うう ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ

  • 【Excel2003】改ページについて

    A列:都道府県名 (昇順) B列:市区町村名 (昇順) でソートされているシートがあります。 印刷時に、B列の値が変わったら改ページさせる方法はありますでしょうか? 要は、市区町村名が変わったら改ページしたい、市区町村別に別ページで印刷したいのですが。 教えていただけますでしょうか? よろしくお願いします。

  • 改ページ条件を簡単に設定する方法

    大変困っております。 データベースのある列を指定して、入っている値が変われば改ページという設定をしたいのですが、調べてもなかなか出てきません。いくつか答は見つかったのですが、VBAを書いて実現する方法ばかりで、初心者の私にはチンプンカンプンです。 なんとか、上記のしくみをマクロなどで簡単に実現する方法はないでしょうか?お願いします!!

  • EXCEL VBA Byte型に"0"を付けたい

    EXCEL VBAにてあるセルの値をByte型の16進数に 変換していますが、変換後の値の頭に"0"が付かなくて 困っています。 Dim a As String Dim aa As String Dim b As Byte Dim bb As Byte a = Val("&H" & Cells(1, 1)) aa = Format(a, "00") b = aa bb = Format(b, "00") 変数など簡略化していますが、こんな感じです。 最後の"bb"の中身が、例えば"01"ではなく"1"と なってしまっています。 バイナリエディタで表示した時に、"111"ではなく "010101"と表示させたいのですが、、、 この方法にこだわっている訳ではないので 他の方法も含めて、ご教示お願いします。

  • EXCEL VBA

    はじめまして。ExcelのVBAについて質問させて頂きます。 - A-B-C            1 0 あ        2 0 い        3 1 う           4 1 え           5 1 お   上記のようなデータに対して、A列の値が1の場合、B列の値をC列へコピー して、B列をゼロにする。A列の値が0の場合は、そのまま。 (結果) - A-B-C            1 0 あ        2 0 い        3 1 0  う           4 1 0 え           5 1 0 お   といったようにVBAを作成したいのですが、なにぶん初心者なもので、 どのように記述すればよいのかわかりません。 よろしくお願いいたします。

  • VBA 検索方法

    VBA初心者です。よろしくお願いいたします。 ・VBAを保存するファイル名:aa.xls ・参照したいデータが保存してあるファイル名:bb.xls bb.xlsのファイルに下記のデータが保存されている場合 A列  B列 14:00  A 13:00  14:00   検索したい条件は「A列に時間が入力されているがB列は空欄のセル名」を 「aa.xls」のA2→B2~E2順に反映。 上記データからは、 A2にB3、B2にB4と入力されるようにお願いします。 回答お待ちしています。

  • Excel 複雑なセル埋めのVBA

    エクセルで入力済みのデータをテーブル形式にするためにVBAを組んでいますが突き当たりました、お知恵を拝借させてください。現在成形出来ているのは以下の状態です。    A列     B列    C列 1行  AA      2     1 2行 3行  BB      3     2 4行 5行 6行 7行 8行 9行  CC      2     3 10行 11行 12行 13行 14行 これを以下のようにB列を埋めたいと考えています。A列を埋めるVBAは当方で分かります。      A列    B列    C列 1行    AA     1     1 2行    AA     2 3行    BB     1     2 4行    BB     2 5行    BB     3 6行    BB     1 7行    BB     2 8行    BB     3 9行    CC     1     3 10行   CC     2 11行   CC     1 12行   CC     2 13行   CC     1 14行   CC     2 B1に2が入っていてC1に1が入っているときはB1から下へ1,2の連番を1回入れます、B3に3と入っていてC3に2と入っているときはB3から下へ1,2,3の連番を2回繰り返します、同じようにB9以降も処理しています。連番のスタートは必ず1で、現在B列に入っている数字が連番の最後に当たる数値でC列が繰り返し回数という事です。上の例ではB列を書き直していますが、新たにD列にB列に入れたい連番の列を作る方法でもいいと思っています。 もし表が崩れていたら済みませんでした。恐れ入りますがポインタでも結構ですのでご教授下さい、よろしくお願いします。

  • Excel2010 VBAにて印刷設定の取得

     Excel2010 VBAにてマクロを作成しております。 Excel2010のメインウィンドウの「ファイル」タブ→「印刷」の 画面におきまして、[設定]欄にて設定したページ指定(印刷開始ページ及び 印刷終了ページ)は取得できるのでしょうか?  Workbook_BeforePrintプロシージャにて取得しようと思っているのですが、 ActiveSheet.PageSetupのメンバやThisWorkbookのメンバを見たところ、 印刷の開始ページ及び終了ページの設定が見つかりませんでした。 印刷のページ指定の設定箇所をご存知の方がいらっしゃいましたら 教えて頂きたく宜しくお願い致します。

  • ● Excel VBAでの計算処理

    ● Excel VBAでの計算処理 超初心者です。いろいろ研究したのですが、よくわかりません。 VBAに詳しい方、是非をお教えください。VBAでやりたいことは以下のことです。 (1)あるブックのSheet1、A列の項目の特定のキーワード(例えば”数量”)を検索条件にしてデータを検索し、その行の複数の列(例えばAA列からCC列)の数値データに-1を掛けて正の数をすべて負の数にする。 (2)上記(1)の結果を別のブックの”計算結果”というシートに抽出する。 (3)元のブックには”数量”のほかさまざまなキーワードが設定されたデータが混在しています。また、計算の対象となる列のはじまりと終わりは特定できる。しかし、もとのブックの行数(データ件数)は特定できないとします。 イメージとしては、 元のブックにあるデータ) A列  B列  C列  ・・・・・ AA列 ・・・・ CC列 数量                5000     2376 数量                1234     9932 金額                30000    2099 結果が抽出されたブックのイメージ(結果は別のブックに抽出される) A列  B列  C列  ・・・・・ AA列 ・・・・ CC列 数量                -5000     -2376 数量                -1234     -9932

専門家に質問してみよう