• 締切済み

OK CANCEL後の処理を戻す方法

終了ボタンをクリックして別の関数で1:0kか2:cancel がもどってきます。 Private Sub cmdEnd_Click() return_meに1 2が入っています。 If return_me = 1 Then End End If End sub 1:okだとendで終了ですが、cancelだと、もと処理を抜けたいのですが、方法がわかりません・・。このソースだとプログラムが固まります。初歩的だと思いますが、お願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>Private Sub cmdEnd_Click() return_meに1 2が入っています のあたりを質問には、具体的に載せたほうが良いのでは。 Cancelの場合2が確実に帰ってきているなら If return_me = 1 Then End End If のところで2に対する処理を明示してはどうでしょう。 参考までに下記を載せます。return_meを返すのは、本当は別プロシジュアーなのかも知れませんが。 Private Sub CommandButton1_Click() x = InputBox("x=1 or 2") If x = "" Then MsgBox "cancel" Else MsgBox x End If End Sub や http://officetanaka.net/excel/vba/tips/tips37.htm の「キャンセルボタンが押された場合」を参考にされては。 InputBoxを使っているかどうかも、質問から判りませんが。 Msgboxなら http://www.naboki.net/access/heaven/heaven_06.html などにあるように Dim Ret as Integer   Ret = MsgBox("処理していいですか?",vbYesnoCancel)    IF Ret = vbOK then  Docmd.OpenForm("処理用フォーム")  ELSE  IF Ret = vbCancel then    MsgBox("キャンセルしました")   End If   End If   などが参考になりませんか。

回答No.1

お世話になります。 環境などが書かれていないのでちょっと状況を把握しきれているか自身がありませんが、 If return_me = 1 Then   End End If ↑これを If return_me = 1 Then   End ElseIf return_me = 2 Then   'Cancel の時にやりたい処理 End If と書けばよいのでは。

関連するQ&A