プロが教える店舗&オフィスのセキュリティ対策術

Sub Print_Out_1()
'セルに値を設定しながら連続印刷する。印刷対象:アクティブシート

nRet = MsgBox("印刷を開始してもよろしいですか?", vbOKCancel, "メディカルG")

If bret <> vbOK Then



ActiveSheet.Unprotect Password:="0630"
ActiveSheet.PageSetup.PrintArea = "B11:O30"
'定数
Const conStart As Long = 1 '開始
Const conStep As Long = 1 '間隔
Const conCell As String = "K7" 'セル番地

'変数
Dim i As Long
Dim conEnd As Integer '終了

With Application
.ScreenUpdating = False
conEnd = Val(.ActiveSheet.Range(conCell).Value)
If conEnd >= 1 Then
For i = conStart To conEnd Step conStep
ActiveSheet.PrintOut
Next
End If
.ScreenUpdating = True
End With

MsgBox "印刷が完了しました。"
ActiveSheet.PageSetup.PrintArea = False
ActiveSheet.Protect Password:="0630"

End If

End Sub

上記のコードがあります。
メッセージBOXでキャンセルを押された時に処理が無効になりません。
どうしたらいいのか教えて頂けないでしょうか?
お願いします。

質問者からの補足コメント

  • うーん・・・

    やってみたのですが・・キャンセルできませんでした・・・;;

      補足日時:2021/05/06 21:22
  • うれしい

    すみません。
    いつもありがとうござます。
    どこが間違っていたのでしょうか・・・;;
    初心者ですみません・・・;;

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/05/06 21:35

A 回答 (3件)

こちらこそ、No.1が間違っていてすみません。



1つめ
>nRet = MsgBox("印刷を開始してもよろしいですか?", vbOKCancel, "メディカルG")
>If bret <> vbOK Then
nRetとbretは同じ文字でないといけないですがnとbが間違っていました。

2つめ
>If nRet <> vbOK Then
これだとOKと押したときにキャンセルされちゃいます。
nRet <> vbOKだと、vbOK以外だった場合
nRet = vbOKだと、vbOKだった場合
    • good
    • 0
この回答へのお礼

本当にいつもありがとうございます。
親切に教えて頂き本当に助かりました・・・
なかなか自分で書くとわかりにくく本当にありがとうございます。

お礼日時:2021/05/06 21:49

こうするとどうですか?


誤:If bret <> vbOK Then
正:If nRet = vbOK Then
この回答への補足あり
    • good
    • 0

こうするとどうですか?


誤:If bret <> vbOK Then
正:If nRet <> vbOK Then
    • good
    • 0

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