3

基本的に次のように動作するモジュールを作成したいと考えていました。

  1. 4 つまたは 5 つの印刷範囲を定義します。
  2. ユーザーに入力ボックスを表示します。
  3. ユーザーがその入力ボックスのドロップダウンから、印刷したい範囲を選択できるようにします。
  4. 範囲を選択した後、[OK] をクリックすると、「よろしいですか?」というメッセージが表示されます。誤クリックを防ぐためのボックス。

私はこれについてかなり迷っており、正直なところ、私が書いてきたコードは問題を明確にするだけでは役に立たないと感じています。

ユーザーが範囲を定義して(印刷したい列を手動で選択して)動作させましたが、それは私が探しているものではありません。

さらに一歩進んで、印刷形式 (横か縦か、用紙の種類) をさらにカスタマイズできるようにすることは可能でしょうか?

事前に助けてくれてありがとう。質問に答えて、上記で参照したコードのサンプルを提供するために最善を尽くします (列を選択できるようにするためのプロンプトです。名前で定義された範囲にする必要があります)。 、range1=a2:c14またはそのようなものです。エンド ユーザーは優れた Excel ユーザーではないためです。

下記参照:

Sub SelectPrintArea()
Dim PrintThis As Range
ActiveSheet.PageSetup.PrintArea = ""
Set PrintThis = Application.InputBox _
(Prompt:="Select the Print Range", Title:="Select", Type:=8)
PrintThis.Select
Selection.Name = "NewPrint"
ActiveSheet.PageSetup.PrintArea = "NewPrint"
ActiveSheet.PrintPreview
End Sub

フォローアップとして:

ドキュメントに非表示のセクションがあると仮定すると、それらがユーザー定義の範囲の一部である場合 (グループの一部である場合など)、それらのセクションを再表示できますか? これは保護されたドキュメントで機能しますか?

4

1 に答える 1