
EXCELで外枠は太線、各行の区切り線は細線を
使用した表を作っています。
これがかなり大きな表ですので、印刷すると
かなりの枚数になるんですが、各ページの最終行
(下の枠線)は当然細線になって、上、右、左の
太い枠線とのバランスが悪くなってしまいます。
改頁される行の区切り線のみ太線に変更していって
もいいのですが、行を挿入した時とか行の高さを
変更したときにズレてしまって大変です。
印刷した時に自動的に改頁される行のみ太線に
なるような機能はないのでしょうか?
もしくはVBA等でそのような機能を作成することは
可能でしょうか?
ご教示いただけましたら有り難いです。
よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
詳しいシート構成がわかりませんので、
こんな感じでやれば出来そうというのをひとつ。
水平の改ページ線と同じ位置に
太い罫線を設定します。
Sub TEST()
Dim hpb As HPageBreak
ActiveWindow.View = xlPageBreakPreview
For Each hpb In ActiveSheet.HPageBreaks
Range(hpb.Location.Address).Resize(, 8). _
Borders(xlEdgeTop).Weight = xlThick
Next
ActiveWindow.View = xlNormalView
End Sub
とりあえずA列から8列分に太い罫線を設定します。
実際に使うにはもう一工夫必要でしょう。
ご回答ありがとうございます。
ご教示いただいたコードに一部手を加えるかたちで、
当初考えていた以上のものができました。
本当に助かりました。ありがとうございます!
No.3
- 回答日時:
こんにちは。
ちょっと確認したいのですが、
------------------------------ ←細線
------------------------------ ←細線
------------------------------ ←細線
・
・
------------------------------ ←細線
--------------- ←太線(改ページ)
------------------------------ ←細線
------------------------------ ←細線
その部分を変更するのですね。
つまり、ずっと繋がっているということなのでしょうか?
こんなマクロコードを考えてみました。
設定の方法:
Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、再び、Alt + F11 で、画面を閉じます。
後は、フォーム・ツールやコントロールツールのボタンや、ショートカットにすると便利かと思います。
ユーザー設定変更部分:
現在、仮に設定されています。
Const Cl As Integer = 6 ' 6セル分の長さの線を引く
Cells(hc, 1) 1列目だから、1 が入れてあります。B列だったら、2になります。
With Cells(hc, 1).Resize(, Cl).Borders(xlEdgeBottom)
このマクロは、表の一番最初の部分には太線は引かれません。
また、表の一番最後の部分は、改ページ位置ではなく、印刷の終わりに引かれます。
'<標準モジュール>
Option Explicit
Sub PageLineThickness()
Dim TotalPage As Long, i As Long, j As Integer, MaxRow As Long
Dim pa As String, hc As Long, bhc As Long
Const Cl As Integer = 6 ' 6セル分の長さの線を引く
pa = ActiveSheet.PageSetup.PrintArea
MaxRow = Range(pa).Row + Range(pa).Rows.Count - 1
TotalPage = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
If Range(pa).Row <> 1 Then
j = 2
Else
j = 1
End If
Application.ScreenUpdating = False
For i = j To TotalPage
hc = ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64),1, " & i & ")")
'A列(1)から、セルを引く
If i = TotalPage Then
hc = MaxRow '最後のページのみ、最終行に入れる
End If
'A列(,1) から、セルの長さを引く
With Cells(hc, 1).Resize(, Cl).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
bhc = hc
Next i
Application.ScreenUpdating = True
MsgBox "終了です。"
End Sub
詳しいご回答ありがとうございます。
No.4で教えていただいた内容も併せて参考にさせて
いただき、目的を達成できました!
コードまで記述していただき、本当に助かりました。
ありがとうございます。
No.2
- 回答日時:
表の1行目に何も入れない行を作り、その上下に太い罫線を引きます。
ファイル→ページ設定の「シート」タブの 「印刷タイトル」「行のタイトル」に、この1行目を設定すればどうでしょうか?
ご回答ありがとうございます。
説明不足で申し訳ございません。
下の方でも補足させて頂いたような内容でして、
行のタイトルを設定しても、頁の下枠が太線には
なりません。様式をどのように変更しても
各頁の外枠(上下左右の外枠)は常に太線に
なるような設定は基本機能としてはない
のですかねぇ...
ありがとうございました。
No.1
- 回答日時:
印刷の設定の問題ですね。
タスクバーにある
表示
改ページプレビュー
で確認して、改ページしたいところに、青の線をドラック&ドロップで調整すれば、うまく改頁できます。
ご回答ありがとうございます。
説明不足で申し訳ございません。
印刷した時、各頁の最下行の各セルの下の
罫線が自動的に太線にならないものかと
考えています。
現在、改頁される位置の罫線のみ太線に変更し、
行の挿入、削除があった場合には、ご教示
いただいた通り、改頁プレビューにて調整するか、
太線を引きなおすことで対処しています。
しかし印刷した時の枚数が膨大なので、
改頁、もしくは太線を引きなおす数も膨大に
なりまして困っていたところです。
1年来の悩みでして、何かいい方法がないものかと
思っておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelにて、ページ毎の外枠に罫線を設定する方法は?
Excel(エクセル)
-
印刷時、改ページごとの下枠にのみ罫線を引きたい
Excel(エクセル)
-
エクセル、ページをまたがった際の罫線
Excel(エクセル)
-
-
4
excel印刷で改頁をする時に罫線を引きたいのですが、良い方法ありますか?
Excel(エクセル)
-
5
<EXCEL>ページ最後の行の罫線設定
Excel(エクセル)
-
6
縦長表の外枠に太罫線。改ページごとに外枠をつけるには
Excel(エクセル)
-
7
条件付き書式で最終行に線を引きたい
Excel(エクセル)
-
8
Excel で改ページをしたところの罫線が印刷されません;;
Excel(エクセル)
-
9
Excelで・・・1ページあたりの行数を指定できますか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの文字数列関数と競馬...
-
エクセルでフィルターした値を...
-
表計算ソフトでの様式の呼称
-
エクセルシートの見出しの文字...
-
エクセルに写真が貼れない(フ...
-
【マクロ】実行時エラー '424':...
-
【画像あり】【関数】指定した...
-
Office2021のエクセルで米国株...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
Excelで4択問題を作成したい
-
【画像あり】オートフィルター...
-
空白のはずがSUBTOTAL関数でカ...
-
エクセルのVBAで集計をしたい
-
Excelに貼ったXのURLのリンク...
-
エクセルのライセンスが分かり...
-
【マクロ】excelファイルを開く...
-
エクセルの複雑なシフト表から...
-
エクセルのリストについて
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報