[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『印刷範囲の設定マクロ』(いい)
・1シートに24枚の表が並べてあります。
・複数のシートを使うのですが、すべてのシート名に『■』を付けています。
マクロの内容は・・・
表の1番最初のセルに文字が記入されていればそのページまで印刷範囲を設定する。
というものなのですが、シート名に『■』がついているシートに実行するようにしてしまいました。
それだと複数シートを選択して印刷するとおかしくなってしまいます。
(最初に選んだシートの印刷範囲が2枚だとすると他も2枚分の印刷範囲になってしまいます)
どのように直せば良いかご教授願います。
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
For i = Worksheets.Count To 1 Step -1
If InStr(Application.Sheets(i).Name, "■") <> 0 Then
Application.Sheets(i).PageSetup.PrintArea = ""
If Range("d3").Value <> "" Then Application.Sheets(i).PageSetup.PrintArea = "A1:AO64" If Range("as3").Value <> "" Then Application.Sheets(i).PageSetup.PrintArea = "A1:CD64" If Range("ch3").Value <> "" Then Application.Sheets(i).PageSetup.PrintArea 〜〜〜〜〜中略〜〜〜〜〜 If Range("as451").Value <> "" Then Application.Sheets(i).PageSetup.PrintArea = "A1:DS448,A449:CD512" If Range("ch451").Value <> "" Then Application.Sheets(i).PageSetup.PrintArea = "A1:DS512"
End If
Next i
Application.ScreenUpdating = True
End Sub
こんにちは
処理内容は良く理解出来てないですけど、
If Sheets(i).Range("d3").Value <> "" Then Sheets(i).PageSetup.PrintArea = "A1:AO64" If Sheets(i).Range("as3").Value <> "" Then Sheets(i).PageSetup.PrintArea = "A1:CD64" If Sheets(i).Range("ch3").Value <> "" Then Sheets(i).PageSetup.PrintArea '〜〜〜〜〜中略〜〜〜〜〜
のようにすればいのでは? (ウッシ)
教えていただいた通りにしたら成功しました!!
勉強させていただきます*
(いい)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.