|
こんにちは。かみちゃん です。
>>>何ページということですか?
>何ページという事です。
>任意に今日は4ページまで、今日は3ページまでと、
>印刷するときによって、ページを変えたいのです。
印刷開始ページは、必ず1ページからとするのであれば、以下のような感じになります。
ポイントは、InputBoxなのですが、いろいろエラー処理を入れてみたので、ちょっと長くなりました。
Option Explicit
Sub Macro1()
Dim TotalPage As Integer
Dim ToPage As String
'アクティブシートの総ページ数を取得
TotalPage = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
'印刷終了ページの指定(エラー処理あり)
Do
ToPage = InputBox("終了ページは?", , TotalPage)
'何も入力しなかった場合、または、キャンセルを押した場合は、処理終了
If ToPage = "" Then Exit Sub
If IsNumeric(ToPage) Then
'終了ページは、1以上の整数(小数点は不可)
If Val(ToPage) >= 1 And Val(ToPage) - Int(Val(ToPage)) = 0 Then
Exit Do
Else
MsgBox "終了ページは、1以上の整数を入力してください。"
End If
Else
MsgBox "数字で入力してください。"
End If
Loop
'確認メッセージ
MsgBox "1ページから" & Val(ToPage) & "ページを印刷します"
'印刷実行
ActiveSheet.PrintOut From:=1, To:=Val(ToPage)
End Sub
|
|