アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで、同じフォーマット(つくりが同じ)のシートが複数あったとして、その印刷範囲をシートまとめて変更する方法はありませんか?
シートを複数選択すると印刷範囲の変更ができないようで困ってます。シート1枚1枚変更する手間にくじけそうになってますので、どなたか分かるかたご教授願います。
ちなみにバージョンは2003です。

A 回答 (1件)

マクロでやったら?



1. 新規ブックの標準モジュールに下記ソースコードをコピペし
  適当に保存します。(このブックは閉じないでそのまま開いておく)
2. 対象のブックを開いて、処理を行うシートを”作業グループ”にします。
3. [Alt]+[F8] を押してマクロを実行

おまけで、作業グループの印刷設定(余白とか紙の向きとか)を
そろえるマクロも添付しておきました。


Sub 選択したシートの印刷範囲をそろえる()
  
  Dim sh     As Worksheet
  Dim sPrintAddr As String
  Dim iRes    As Integer
  
  AppActivate Application.Caption
  If ActiveWindow.SelectedSheets.Count = 1 Then
    MsgBox "印刷範囲をそろえるシートを作業グループにして下さい", vbInformation
    Exit Sub
  End If
  iRes = MsgBox("シート[" & ActiveSheet.Name & "]の印刷範囲が複写されます。" _
      & vbLf & "続行しますか?", vbInformation + vbOKCancel + vbDefaultButton2)
  If CLng(iRes) = vbCancel Then Exit Sub
  
  sPrintAddr = ActiveSheet.PageSetup.PrintArea
  Application.ScreenUpdating = False
  On Error Resume Next
  For Each sh In ActiveWindow.SelectedSheets
    sh.PageSetup.PrintArea = sPrintAddr
  Next
  MsgBox "Done.", vbInformation

End Sub

Sub 印刷設定をそろえる()
  
  Dim iRes As Integer
  
  AppActivate Application.Caption
  If ActiveWindow.SelectedSheets.Count = 1 Then
    MsgBox "印刷設定をそろえるシートを作業グループにして下さい", vbInformation
    Exit Sub
  End If
  iRes = MsgBox("シート[" & ActiveSheet.Name & "]の印刷設定が複写されます。" _
      & vbLf & "続行しますか?", vbInformation + vbOKCancel + vbDefaultButton2)
  If CLng(iRes) = vbCancel Then Exit Sub
  
  SendKeys "{ENTER}"
  Application.Dialogs(xlDialogPageSetup).Show
  MsgBox "Done.", vbInformation

End Sub

' # 勢いかつ適当に作ったので、何回かはうまく動作してるか確認
' # して下さい(・∀・)
    • good
    • 0
この回答へのお礼

知識が足りなく参考になりませんでした。せっかく書いていただいたのに役立てずすいません。もっと簡単な方法があると思っていたので残念です。

お礼日時:2007/06/28 09:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!