Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16945 / 76738 ←次へ | 前へ→

【65255】印刷範囲の設定方法について
質問  suika  - 10/4/30(金) 22:32 -

引用なし
パスワード
   こんにちわ。suikaです。

excel-2007の自動記録機能を使い、シートの印刷範囲設定を行うマクロを
作成しましたが、不要な部分まで印刷されてしまい、困っています。

ページレイアウトのタブにあります、印刷タイトルのタイトル行(R)⇒$1:$1
とし、全てのページの先頭に、列ラベルを表示させます。

更にA4サイズ横向きで、後は、改ページプレビューで印刷範囲の設定を行い
ました。

そうすると、データの行数が全部で625行ある為、PrintArea = "$A$1:$L$625"
となり、このシートでは、問題はありません。

ですが、困ったことに、別のシート(データの行数が全部で約400行ある)で、
この印刷範囲設定マクロを使用しますと、4ページ〜9ページの先頭行に、列
ラベルが表示されてしまいます。
このまま、印刷をかけますと、OA紙が無駄になるので、手動で印刷ページの
指定を行っています。

データの行数に関係なく、全てのページに列ラベルを表示し、A4サイズ横向き
で印刷するには、どのようにコードを記述すればよいか、どなたか分かる方が
いらっしゃいましたら、ご教授をお願いいたします。

コードの最後に記載した印刷設定のコードを抜粋し、下記に掲載します。

1.ページレイアウトのタブにあります、印刷タイトルのタイトル行(R):$1:$1
とし、全てのページの先頭に列ラベルの追加を設定しました。
   ↓
印刷設定(列ラベル追加)を行う。
   With ActiveSheet.PageSetup
    .PrintTitleRows = "$1:$1"
    .PrintTitleColumns = ""
   End With

2.次に、印刷設定(A4サイズ:横向き)を行う。

印刷設定(A4サイズ:横向き)を行う。
   ActiveSheet.PageSetup.PrintArea = ""
   With ActiveSheet.PageSetup
    .LeftHeader = ""
    .CenterHeader = ""
    .RightHeader = ""
    .LeftFooter = ""
    .CenterFooter = ""
    .RightFooter = ""
    .LeftMargin = Application.InchesToPoints(0.196850393700787)
    .RightMargin = Application.InchesToPoints(0.196850393700787)
    .TopMargin = Application.InchesToPoints(0.984251968503937)
    .BottomMargin = Application.InchesToPoints(0.196850393700787)
    .HeaderMargin = Application.InchesToPoints(0.511811023622047)
    .FooterMargin = Application.InchesToPoints(0.511811023622047)
    .PrintHeadings = False
    .PrintGridlines = False
    .PrintComments = xlPrintNoComments
    .CenterHorizontally = False
    .CenterVertically = False
    .Orientation = xlLandscape
    .Draft = False
    .PaperSize = xlPaperA4
    .FirstPageNumber = xlAutomatic
    .Order = xlDownThenOver
    .BlackAndWhite = False
    .Zoom = 100
    .PrintErrors = xlPrintErrorsDisplayed
    .OddAndEvenPagesHeaderFooter = False
    .DifferentFirstPageHeaderFooter = False
    .ScaleWithDocHeaderFooter = True
    .AlignMarginsHeaderFooter = True
    .EvenPage.LeftHeader.Text = ""
    .EvenPage.CenterHeader.Text = ""
    .EvenPage.RightHeader.Text = ""
    .EvenPage.LeftFooter.Text = ""
    .EvenPage.CenterFooter.Text = ""
    .EvenPage.RightFooter.Text = ""
    .FirstPage.LeftHeader.Text = ""
    .FirstPage.CenterHeader.Text = ""
    .FirstPage.RightHeader.Text = ""
    .FirstPage.LeftFooter.Text = ""
    .FirstPage.CenterFooter.Text = ""
    .FirstPage.RightFooter.Text = ""
   End With
   ActiveWindow.View = xlPageBreakPreview
    ActiveSheet.PageSetup.PrintArea = "$A$1:$L$625"
    ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
    ActiveWindow.View = xlNormalView
    Range("A1").Select

MsgBox "自動編集終了! 印刷を行ってください"


End Sub

0 hits

【65255】印刷範囲の設定方法について suika 10/4/30(金) 22:32 質問
【65257】Re:印刷範囲の設定方法について りん 10/5/1(土) 11:46 発言
【65258】Re:印刷範囲の設定方法について suika 10/5/1(土) 15:36 お礼

16945 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free