過去ログ

                                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ページに収めたいのですが
 どうしたらいいのでしょうか?(このあとにも改ページの設定をします)

・行にの改ページを設定しようとしているのですが、
 何故かうまくいきません。

どなたかご教授願います
 ───────────────────────────────────────  ■題名 : Re:改ページ印刷にて  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/3/6(木) 18:08  -------------------------------------------------------------------------
   純 さん、こんばんわ。

> 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
という方法もあります。

どちらも用紙のサイズと方向に依存して縮小がかかります。
 ───────────────────────────────────────  ■題名 : Re:改ページ印刷にて  ■名前 : 純  ■日付 : 03/3/7(金) 13:30  -------------------------------------------------------------------------
   りんさん、こんにちわ

> 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まで印刷"と言う意味ですよね。
その次の例は、"一つ右に改ページがの線がずれる"ということですよね?
また教えてください。お願いします。
 ───────────────────────────────────────  ■題名 : Re:改ページ印刷にて  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/3/7(金) 21:36  -------------------------------------------------------------------------
   純 さん、こんばんわ。

>上の方法ですと、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の前の’をはずすと、処理がちょっと早くなります(経過は見えません)。
 ───────────────────────────────────────  ■題名 : 解決しました。  ■名前 : 純  ■日付 : 03/3/10(月) 10:48  -------------------------------------------------------------------------
   りんさん、おはようございます。

>これを試してみてください。
>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ページ目からの範囲指定がわかりませんが
一回、一回範囲指定をして、印刷していこうと思っています。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 854