- 締切済み
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だと、もと処理を抜けたいのですが、方法がわかりません・・。このソースだとプログラムが固まります。初歩的だと思いますが、お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>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 などが参考になりませんか。
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 環境などが書かれていないのでちょっと状況を把握しきれているか自身がありませんが、 If return_me = 1 Then End End If ↑これを If return_me = 1 Then End ElseIf return_me = 2 Then 'Cancel の時にやりたい処理 End If と書けばよいのでは。