- ベストアンサー
プロシージャが実行されたかの有無の判断
Sub test() ・・・・・ IF ・・・・ then Call マクロ1 End If ・・・・・ ・・・・・ If testと言う名のプロシージャーの中でマクロ1と言うプロシージャーが実行されたなら Then MsgBox "マクロ1は実行されました" End If End Sub ということを実行したいのですがどうすればいいのでしょうか? マクロ1の実行条件自体が複雑でIf ~Thenの中に書ききれないので 実行の有無を値で返したりすることは不可能でしょうか? よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
下記が可能のようなので使えないかな。 条件を満たしたステップでFunctionProcedureの値をある値にセットする。 満たしてないことが決定したステップで他の値をセットする。 Function test01() If Cells(1, "A") = 1 Then test01 = 1 Else test01 = 2 End If End Function Sub test02() MsgBox test01 If test01 = 1 Then MsgBox "test01実行" Else MsgBox "test01実行せず" End If End Sub
その他の回答 (2)
- onlyrom
- ベストアンサー率59% (228/384)
>マクロ1の実行条件自体が複雑でIf ~Thenの中に書ききれないので いくら実行条件が複雑だとしてもその条件で実行させなければいけないのですよね? なら上記文言は意味不明では? ま、それは置いといて Sub test() ・・・・・ IF ・・・・ then Call マクロ1 MsgBox "マクロ1は実行されました" '●ここに入れたらいいのでは? End If ・・・・・ ・・・・・ 以上。
お礼
ご回答ありがとうございます。
Private Sub CommandButton1_Click() Dim isTest2DO As Balloon Dim Q AS Integer Q = 0 If Q = 0 Then Test2 isTest2DO = True End If If isTest2DO Then MsgBox "マクロ1は実行されました" End If End Sub Public Sub Test2() MsgBox "Test2" End Sub しかし、普通は次のように書くでしょう。 Private Sub CommandButton1_Click() Dim Q AS Integer Q = 0 If Q = 0 Then Test2 MsgBox "マクロ1は実行されました" End If End Sub
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。