Excel VBA質問箱 IV

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

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


64866 / 76738 ←次へ | 前へ→

【16449】Re:改ページプレビュー
質問  shin  - 04/7/28(水) 9:08 -

引用なし
パスワード
   ichinose さん、そしてそのほかのみなさまありがとうございます。
実は私はVBAがほとんど初心者です。
もうすこし簡単にできると思ったのですが、かなりの苦戦をしいられてまして。

ichinose さんはかなり尊敬に値するものを作っていただいて感動しました。
しかし、高度すぎてよく以下のプログラムがわかっていません。
実際に以下のプログラムをコピーして使用させていただいたのですが、行を挿入したらやはり、全ページ同じ行数でプレビューできませんでした。
お時間のあるときで結構ですので、そのへんを少し教えていただけると幸いです。
申し訳ありませんがよろしくお願いいたします。

>'================================================================
>Sub main()
>  Call pr_settei(Range("$A3:$s$27,$A$28:$s$52,$A$53:$s$77,$A$78:$s$102,$A$103:$s$127,$A$128:$s$152"))
>  ActiveSheet.PrintPreview
>End Sub
>'====================================================================
>Sub pr_settei(prng As Range)
>  Dim ar As Range
>  ActiveSheet.Cells.PageBreak = xlPageBreakNone '手動設定の解除
>  ActiveWindow.View = xlPageBreakPreview
>  ActiveSheet.PageSetup. _
>    PrintTitleRows = "$1:$2"
>' 本当は、↑の辺もパラーメータ渡しの方がいいです。
>  ActiveSheet.PageSetup.Zoom = 100
>  ActiveSheet.PageSetup.PrintArea = ""
>  For Each ar In prng.Areas
>   ActiveSheet.PageSetup.PrintArea = ar.Address
>   Call VDRGOFF(ActiveSheet, ar) 'オートマチックの解除
>   Call HDRGOFF(ActiveSheet, ar)
>   ActiveSheet.HPageBreaks.Add Range(Cells(ar.Row + ar.Rows.Count, 1), Cells(ar.Row + ar.Rows.Count, ar.Columns.Count))
>   Next
>  ActiveWindow.View = xlNormalView
>  ActiveSheet.PageSetup.PrintArea = prng.Address
>End Sub
>'================================================================
>Sub VDRGOFF(sht As Worksheet, rng As Range)
>  On Error Resume Next
>  Dim vv As VPageBreak
>  For Each vv In sht.VPageBreaks
>   If Not Application.Intersect(vv.Location, rng) Then
>     vv.DragOff xlToRight, 1
>     End If
>   Next
>  On Error GoTo 0
>End Sub
>'================================================================
>Sub HDRGOFF(sht As Worksheet, rng As Range)
>  On Error Resume Next
>  Dim hh As HPageBreak
>  For Each hh In sht.HPageBreaks
>   If Not Application.Intersect(hh.Location, rng) Then
>    hh.DragOff xlDown, 1
>    End If
>   Next
>  On Error GoTo 0
>End Sub

0 hits

【16420】改ページプレビュー shin 04/7/27(火) 14:35 質問
【16422】Re:改ページプレビュー ちゃっぴ 04/7/27(火) 14:58 発言
【16424】Re:改ページプレビュー shin 04/7/27(火) 15:38 発言
【16429】Re:改ページプレビュー IROC 04/7/27(火) 18:07 回答
【16433】Re:改ページプレビュー ちゃっぴ 04/7/27(火) 20:34 回答
【16439】Re:改ページプレビュー ichinose 04/7/27(火) 22:49 回答
【16449】Re:改ページプレビュー shin 04/7/28(水) 9:08 質問
【16452】Re:改ページプレビュー ちゃっぴ 04/7/28(水) 11:22 発言
【16458】Re:改ページプレビュー ichinose 04/7/28(水) 12:22 回答
【16478】Re:改ページプレビュー shin 04/7/28(水) 17:44 お礼

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