次の方法で共有

Excel 2013 での MsgBox 関数の使い方について。

Anonymous
2017-03-09T05:59:15+00:00

下記 印刷402マクロ 実行した時、メッセージ表示中にセル操作をしたいのですが、どんな記述を追加すれば良いですか?

現状ではメッセージ表示後、はいを選んだら次のメッセージ、いいえを選んだらマクロを抜けてしまいます。いいえを選んでセル編集後、次のメッセージに何らかのアクション(再度、印刷402マクロ実施でも良いかと思います。)で移動したいのですが、詳しい方、教えて下さい。

Sub 印刷402()

'

' 印刷402 Macro

'

'

    If vbNo = MsgBox("フォトタイマー(PTF/STB/不要なら削除)は適切に選ばれてますか?", vbYesNo) Then Exit Sub

    If vbNo = MsgBox("高電圧ケーブルの長さは適切に選ばれてますか?", vbYesNo) Then Exit Sub

    If vbNo = MsgBox("組合せX線管装置/サポーティングフォークは適切に選ばれてますか?", vbYesNo) Then Exit Sub

    If vbNo = MsgBox("工事費用は追加してますか?", vbYesNo) Then Exit Sub

    MsgBox "基本構成と関連オプションだけ抽出して印刷します!!"

    MsgBox "印刷後、上書き保存せずにファイル(XR価格表.xlsm)を閉じます!!"

    Range("A:F,OR:OR").Select

    Range("OR1").Activate

    Selection.PrintOut From:=2, To:=2, Copies:=1, Collate:=True

    ActiveSheet.Range("$A$11:$PY$260").AutoFilter Field:=408

    ThisWorkbook.Saved = True

    Application.Quit

End Sub

**モデレーター注**

タイトルを編集しました。

編集前タイトル : Excel2013MsgBox

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-03-09T06:25:19+00:00

    「いいえ」を選んだら一度終了して、再度同じボタンを押したら次のメッセージというのは以下の様なイメージで可能です。

    Sub 印刷402()

     '

     ' 印刷402 Macro

     '

     '

    Static I As Byte

         If I = 0 Then

         If vbNo = MsgBox("フォトタイマー(PTF/STB/不要なら削除)は適切に選ばれてますか?", vbYesNo) Then I = 1: Exit Sub

         End If

         If I <= 1 Then

         If vbNo = MsgBox("高電圧ケーブルの長さは適切に選ばれてますか?", vbYesNo) Then I = 2: Exit Sub

         End If

         If I <= 2 Then

         If vbNo = MsgBox("組合せX線管装置/サポーティングフォークは適切に選ばれてますか?", vbYesNo) Then I = 3: Exit Sub

         End If

         If I <= 3 Then

         If vbNo = MsgBox("工事費用は追加してますか?", vbYesNo) Then I = 4: Exit Sub

         End If

         MsgBox "基本構成と関連オプションだけ抽出して印刷します!!"

         MsgBox "印刷後、上書き保存せずにファイル(XR価格表.xlsm)を閉じます!!"

         I = 0

         Range("A:F,OR:OR").Select

         Range("OR1").Activate

         Selection.PrintOut From:=2, To:=2, Copies:=1, Collate:=True

         ActiveSheet.Range("$A$11:$PY$260").AutoFilter Field:=408

         ThisWorkbook.Saved = True

         Application.Quit

     End Sub

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません