ブック内のすべてのシートを通過するループがあります。次に、選択されたボタンに印刷領域を設定します。 1つのボタンはCol A、もう1つのCol C ...などで開始するように設定します。.PageSetup.PrintAreaはActivesheet上でのみ動作しますか?
しかし、実行時エラー1004が表示されています。これは、式を間違って入力したことを示しています。イミディエイトウィンドウを使用して、印刷領域が私が望むものであることをテストできます。
With sheet
If .Name <> "Index" Then
Set rEnd = .Columns("A").Find("END", .[A8], xlValues, xlWhole, xlByRows, xlNext)
If rEnd Is Nothing Then
'Not Found - leave as is
Else
'Found
.PageSetup.PrintArea = "$" & sCol & "&8:$R$" & rEnd.Row '<---Fails here
SetZoom sheet, "Report Print """ & sCol & """ Scale"
End If
End If
End With
私がオンラインで見たすべての例では、ActiveSheetを使用しています。 .PageSetup.PrintAreaにはActiveSheetが必要ですか?私はむしろ各シートを活性化する必要はありません。あなたが代わりに.PageSetup.Printareaラインのこれを使用する場合がありますので、実際に印刷範囲を設定する
「sCol」の宣言が見えないので、それは正しいですか? – BruceWayne
はい、そうです。それは渡され、End.Rowは正しい終了行を見つけます。 – Rdster