• ベストアンサー

VBによる改頁行の罫線変更

EXCELで外枠は太線、各行の区切り線は細線を 使用した表を作っています。 これがかなり大きな表ですので、印刷すると かなりの枚数になるんですが、各ページの最終行 (下の枠線)は当然細線になって、上、右、左の 太い枠線とのバランスが悪くなってしまいます。 改頁される行の区切り線のみ手作業で 太線に変更していってもいいのですが、 行を挿入した時とか行の高さを変更したときに ズレてしまって大変です。 改頁行の罫線のみ太線に変更するような VBを作成することは可能でしょうか? ご教示いただけましたら有り難いです。 よろしくお願い致します。

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

  • ベストアンサー
回答No.3

以下のような処理を行えば2ページ目以降の先頭行が取得できます。 取得できた値から、ページ内最終行(取得先頭行-1)の下に太線の罫線を 引けばいいと思います。 処理的には改ページ数に比例して処理が重くなるので、旧処理と一時的に 下記のような処理を組み込んだ場合で、応答性等比較してみてください。 Sub test() Dim objWs As Excel.Worksheet Dim objHPBreak As Excel.HPageBreak Set objWs = ActiveSheet 'データ最終行以降にアクティブセルを移動する必要あり objWs.Range("a1").SpecialCells(xlCellTypeLastCell).Select For Each objHPBreak In objWs.HPageBreaks Debug.Print objHPBreak.Location.Row Next objHPBreak Set objHPBreak = Nothing Set objWs = Nothing End Sub

ayaka_ikeike
質問者

お礼

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

その他の回答 (2)

  • skink
  • ベストアンサー率38% (7/18)
回答No.2

こんにちは。 可能です。 #1さんとほぼ同じです。 私はVBAではなくVB6.0からEXCELの印刷をしていますが、今試してみたらちゃんと引けました。 改ページの計算を印刷前に行っているなら、そこで引いたら楽かと思います。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/excel06.htm
ayaka_ikeike
質問者

お礼

ご回答ありがとうございます。 No.1でいただいたご回答と併せて参考に させていただきます

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセルVBAでは印刷実行はPrintOut(範囲)を使うと思いますが, その「範囲」のA○:J□の□のところのついて(Jは仮の例) たとえば1:50,51:100,101:150のように印刷するデータ行数を毎回(内容にかかわらず)決めてしまえば、こちらでその行(□)の下線を太線に一時的に変えて印刷し、その後細線に戻すのをページ数だけ繰り返せばよいと思います。 最下行数から計算し、最後のページにはこれを行わない工夫も必要です。 印刷する前にイベントとして知らせてくれたり、設定1つで質問のようには できないと思います。

ayaka_ikeike
質問者

お礼

ご回答ありがとうございます。 EXCELの基本機能としてあってもいいような 機能だと思うのですが、見つからないので、 VBAで作ろうと思っています。 参考にさせていただきます。 ありがとうございました。

関連するQ&A

  • EXCELで改頁される行を太線にするには?

    EXCELで外枠は太線、各行の区切り線は細線を 使用した表を作っています。 これがかなり大きな表ですので、印刷すると かなりの枚数になるんですが、各ページの最終行 (下の枠線)は当然細線になって、上、右、左の 太い枠線とのバランスが悪くなってしまいます。 改頁される行の区切り線のみ太線に変更していって もいいのですが、行を挿入した時とか行の高さを 変更したときにズレてしまって大変です。 印刷した時に自動的に改頁される行のみ太線に なるような機能はないのでしょうか? もしくはVBA等でそのような機能を作成することは 可能でしょうか? ご教示いただけましたら有り難いです。 よろしくお願い致します。

  • EXCELの罫線について

    表を作成し、外枠を太線に、内側の横罫線を細線にしています。 複数ページにまたがった時に、最終ページ以外は最終行が細線になります。 行数が変わっても、最終行を太線にする方法があったら教えて下さい。

  • 縦長表の外枠に太罫線。改ページごとに外枠をつけるには

    Excel2003です。 縦長の表があります。印刷すると3ページに及びます。 外枠に太罫線をつけています。 印刷すると自動改行され、外枠に太罫線を付けている為、1ページは下の外枠だけが印刷されず、2ページ目は上下とも、外枠なし、3ページは上だけ無し。 改ページごとに太罫線を間に入れていましたが、見栄えも悪く、改行される行が変われば、また罫線を引きなおすのは面倒です。 Excelの設定で、出来ないものでしょうか?

  • エクセルの罫線の設定

    エクセルの表について質問です。 エクセルで表を作り罫線を入れました。一番外枠を太い線にした2ページにわたる表なのですが、印刷をすると、1ページ目の一番下は太線になりません。これは何か設定することは出来るのでしょうか? ページの境目に太線を入れることも出来るのですが、行を追加するごとに線を入れ替えるのは面倒なので、いい方法があれば教えていただきたく思います。 よろしくお願いいたします

  • excel印刷で改頁をする時に罫線を引きたいのですが、良い方法ありますか?

    excel印刷で20枚ほど印刷しています。 大分類・中分類・明細と言った感じの一覧表です。 大分類がA列で100行ほどを枠線で囲っています。中分類がB列で20行程を枠線で囲ってタイトルを入れています。 明細は一行づつで、罫線で囲っています。 セル結合はしていません。 そこで、印刷すると最終行の大分類・中分類で、下部線が印刷されない頁が出てきます。明細列は印刷されます。 (罫線自体excelに入ってないですから当然ですが。) 印刷する為に、罫線を入力すると画面での見た目が良くない為入れたくないです。 そこで、改頁前の最終行に罫線を印刷するような設定をしたいのですが、良い方法は無いでしょうか? <出来ればマクロは使いたくないです。> 宜しくお願い致します。

  • Excelの印刷タイトルで行を指定した場合の罫線について

    Excelの印刷タイトルで行を指定した場合、罫線がうまく表示されません。 1行目に項目名を入力し、以下データを入力したとします。 項目とデータは2重罫線で引き区切り、データ間は単線を引きます。 この場合、ページ設定で1行目を印刷タイトルに指定しても、2枚以降の 項目とデータの区切り罫線は、単線だったり太線だったり線種がばらばらに なったものが印刷され困っています。 全頁に渡って、二重線で区切るようにするにはどのような設定が必要でしょうか。 ちなみに、データ間の改頁箇所に二重線を引く方法は避けたいです。

  • エクセルで罫線の印刷

    エクセルで印刷すると2,30枚にもわたる長い表を作り、全体の表の外枠を太線で囲い、ひとつづつのセルに細い線を引いています。 これを印刷すると、1枚づつの表の一番下は細い線になります。あたりまえなのですが・・・ これを太線にしたいのですが、やはりページの区切りの一番下に毎回太線をつけないといけないのでしょうか? どなたか教えてください。

  • <EXCEL>ページ最後の行の罫線設定

    EXCELの表で、行が追加され増え、ページを超えても いつも1頁ごとに外囲み枠が自動的に出来るようにするには どうすればいいでしょうか? 罫線のセルの書式設定で、選択したセルの下部分に外枠用の罫線を 設定すると、後から表に行を追加したとき、次ページにずれて しまいますよね? 行タイトル、列タイトルはわかるのですが、ページ最後の行の 設定はどうすればいいのでしょうか? 仕事なのでとても急いでいます。 申し訳ありませんがどなたか教えて下さい。よろしくお願いします。

  • エクセルタイトル行の罫線が変

    エクセル2003で複数ページに渡る表を作成中です 1行目をタイトル行に設定し1行目と2行目の間の罫線を 二重線にしたのですが、 ページやセルにより、二重線だったり太線だったり 罫線が表示されなかったりします 変なところの罫線を一度削除し設定し直しても 直るところと直らないところがあります どうしたらうまくいきますか?

  • エクセル(Excel)の罫線の太さ

    エクセルのセルの枠などに作成する罫線の太さって、太線と細線の2種類しかないのでしょうか?表を作成するにあたって、細線でも太いと思うのです。なので色を薄くしたり破線にしたりするのですが、それ以外のテクニックはありますか?

専門家に質問してみよう