電子書籍の厳選無料作品が豊富!

特定のセルに数字を入力することでVLOOKUPで印刷ページを
検索して指定できるシートを作成しています。

下記のようなVBAを作成しました。
印刷開始ページと印刷終了ページを指定する場合、
セルの指定はどのようにすれば、よいのでしょうか?
開始ページと終了ページが同じセルの為、

開始ページ=Rnage("セル")
終了ページ=Rnage("セル")

としてしまいますと、エラーが出てしまいます。



Sub 印刷()

Dim S As Long
Dim B As Long

S = Application.InputBox("印刷開始ページを入力", Type:=1)
If 開始ページ = 0 Then Exit Sub
B = Application.InputBox("印刷終了ページを入力", Type:=1)
If 終了ページ = 0 Then Exit Sub
ActiveSheet.PageSetup.Order = xlOverThenDown
ActiveWindow.SelectedSheets.PrintOut _
From:=S, To:=B, Collate:=True
End Sub


宜しくお願い致します。

A 回答 (2件)

ん~と


>印刷開始ページと印刷終了ページを指定する場合、
>セルの指定はどのようにすれば、よいのでしょうか?

S = Application.InputBox("印刷開始ページを入力", Type:=1)

S = Sheets("開始のページの数値を入れているシート").Range("開始のページの数値を入れているセル").Value

Bについても同様

>開始ページと終了ページが同じセルの為、
この意味が分からないのですが、印刷するページは一枚?なのでしょうかね。
    • good
    • 0

質問が分かりにくい。


もしかして、作成したVBAではInputBoxを使用してユーザーに入力してもらっている
ところを、セルに入力された数値を読み取って実行するように変更したい、という
ことでしょうか?

>開始ページ=Rnage("セル")
>終了ページ=Rnage("セル")
でエラーになるとのことですが、単にRangeのスペルミスって落ちなんじゃ?
開始ページと終了ページが同値だからと言って、エラーにはならないです。
どう設定したらよいかわからない時は、マクロの自動記録で記録されたマクロを参照
するのが基本でしょう。

エラーになる場合は、ただ単にエラーになりますだけでは情報が不十分です。
エラーになった文と、エラーメッセージ位は書いて欲しいですね。
    • good
    • 0

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