Page 854 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼改ページ印刷にて 純 03/3/5(水) 16:59 ┗Re:改ページ印刷にて りん 03/3/6(木) 18:08 ┗Re:改ページ印刷にて 純 03/3/7(金) 13:30 ┗Re:改ページ印刷にて りん 03/3/7(金) 21:36 ┗解決しました。 純 03/3/10(月) 10:48 ─────────────────────────────────────── ■題名 : 改ページ印刷にて ■名前 : 純 ■日付 : 03/3/5(水) 16:59 -------------------------------------------------------------------------
VBAで印刷するとき改ページを設定するという質問なのですが 処理は特定の行、列を改ページの設定をしたいのです。 ・列に改ページを設定する事が出来るのですが、 1ページ目に印刷したい所までを改ページにしようとすると デフォルトが最初に(A〜F)に設定されていて(1ページ目)、 デフォルトの次の列(H〜S)が2ページ目に・・・ という具合に改ページが設定されてしまうのですが これをどうにかして(A〜S)を1ページに収めたいのですが どうしたらいいのでしょうか?(このあとにも改ページの設定をします) ・行にの改ページを設定しようとしているのですが、 何故かうまくいきません。 どなたかご教授願います |
純 さん、こんばんわ。 > 1ページ目に印刷したい所までを改ページにしようとすると > デフォルトが最初に(A〜F)に設定されていて(1ページ目)、 > デフォルトの次の列(H〜S)が2ページ目に・・・ Fの次はHではないし、2ページ目の列数が1ページ目に比べて異様に多いのがきになりますが。 とりあえず、 Sub Macro1() Set ActiveSheet.VPageBreaks(1).Location = Range("T1") End Sub 改ページプレビューで表示しており、印刷範囲がS列までしかないときは、 Sub Macro1() ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, _ RegionIndex:=1 End Sub という方法もあります。 どちらも用紙のサイズと方向に依存して縮小がかかります。 |
りんさん、こんにちわ > Fの次はHではないし、2ページ目の列数が1ページ目に比べて異様に多いのがきになりますが。 すいません。確かにFの次はHではないですね。Gでした。失礼しました。 >Sub Macro1() > Set ActiveSheet.VPageBreaks(1).Location = Range("T1") >End Sub > >改ページプレビューで表示しており、印刷範囲がS列までしかないときは、 >Sub Macro1() > ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, _ > RegionIndex:=1 >End Sub >という方法もあります。 > >どちらも用紙のサイズと方向に依存して縮小がかかります。 この方法でやってみると、「インデックスが有効範囲にありません。」 と言われるのですが・・・。 上の方法ですと、1ページ目に"T1まで印刷"と言う意味ですよね。 その次の例は、"一つ右に改ページがの線がずれる"ということですよね? また教えてください。お願いします。 |
純 さん、こんばんわ。 >上の方法ですと、1ページ目に"T1まで印刷"と言う意味ですよね。 違います。 一つ目の改ページをT1するという指定です。 >その次の例は、"一つ右に改ページがの線がずれる"ということですよね? これも違います。 一番目の改ページを範囲外に追い出すということです。 印刷範囲がなかったり、改ページを一度も表示してなかったりする場合、PageBreaksオブジェクトがNothingになっています。 これを試してみてください。 Sub Test() 'Application.ScreenUpdating = False 'こっそり処理 Workbooks.Add '新しいブックを追加 ActiveSheet.PageSetup.PrintArea = "A1:S1000" '印刷範囲を指定 ActiveWindow.View = xlPageBreakPreview ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 ActiveWindow.View = xlNormalView 'Application.ScreenUpdating = True End Sub やりたい作業はこんなのでしょうか? Application.ScreenUpdatingの前の’をはずすと、処理がちょっと早くなります(経過は見えません)。 |
りんさん、おはようございます。 >これを試してみてください。 >Sub Test() > 'Application.ScreenUpdating = False 'こっそり処理 > Workbooks.Add '新しいブックを追加 > ActiveSheet.PageSetup.PrintArea = "A1:S1000" '印刷範囲を指定 > ActiveWindow.View = xlPageBreakPreview > ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 > ActiveWindow.View = xlNormalView > 'Application.ScreenUpdating = True >End Sub > >やりたい作業はこんなのでしょうか? >Application.ScreenUpdatingの前の’をはずすと、処理がちょっと早くなります(経過は見えません)。 OKです。ありがとうございました。 またわからない事がありましたらよろしくお願いします。 2ページ目からの範囲指定がわかりませんが 一回、一回範囲指定をして、印刷していこうと思っています。 |