[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『改ページの統一』(ゾーマ)
とある調査票を配布し、回収したのですが、セキュリティの関係等で配布時の改ページが変更されているものがありました。
こちらの作業としては一つのブックに各シートをまとめるのですが
ものによって改ページの位置がちがうというのは印刷するときにも困ります。
作業グループ状態で、印刷範囲を変更しようとしたのですが、グレーアウトになっており、おそらく仕様でできないのかと思います。
そこでマクロで疑似的に実行しようと思います。
選択しているシートを先頭の改ページ範囲にすべて変更するというものを作ろうとしてますが、まず範囲取得から壁にぶち当たって作れておりません。
お力添えよろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
Sub test()
Dim wk As Worksheet
Dim i As Long
Dim j As Long
Set wk = Sheets(1)
For i = 2 To Sheets.Count
With Sheets(i)
.ResetAllPageBreaks
For j = 1 To wk.HPageBreaks.Count
.HPageBreaks.Add before:=.Range(wk.HPageBreaks(j).Location.Address)
Next j
End With
Next i
End Sub
(???) 2018/06/19(火) 17:05
一応そっくりそのままのページ設定が良いので列方向もほしいですが、
おそらく垂直はVPageBreaks.〜を入れれば良いと思うのでとりあえずこれで試してみます!
(ゾーマ) 2018/06/19(火) 17:21
または、印刷範囲の設定は、「名前の管理」にある「Print_Area」に範囲情報がありますが、これが関係していませんか? 名前定義を消すか、1つ目のシートに合わせてみてください。
Sub test()
Dim iR As Long
Dim N As Name
For Each N In ThisWorkbook.Names
iR = iR + 1
Cells(iR, "A").Value = N.Name
Cells(iR, "B").Value = "'" & N.Value
N.Delete
Next N
End Sub
(定義を消すなら N.Delete するだけ)
(???) 2018/06/20(水) 10:26
見るだけなら、Deleteの行をコメントアウトすれば良いし、削除だけならセルに情報を代入しているのを止めれば良い。印刷範囲だけ消すなら、N.Name を調べて、該当したときだけ消すように変えれば良いです。1つ目のシートに範囲を合わせるなら、1つ目のシート名のPrint_Areaの指定を、他のシートのものに当てはまれば良いでしょう。
(???) 2018/06/22(金) 09:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.