過去ログ

                                Page     682
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼マクロの実行順番をセットできますか?  こうたろう 03/2/5(水) 12:33
   ┣Re:マクロの実行順番をセットできますか?  ポンタ 03/2/5(水) 12:39
   ┃  ┗Re:マクロの実行順番をセットできますか?  こうたろう 03/2/5(水) 13:39
   ┗Re:マクロの実行順番をセットできますか?  JuJu 03/2/5(水) 12:44
      ┗Re:マクロの実行順番をセットできますか?  こうたろう 03/2/5(水) 13:46
         ┗Re:マクロの実行順番をセットできますか?  JuJu 03/2/5(水) 18:03
            ┗Re:マクロの実行順番をセットできますか?  こうたろう 03/2/5(水) 18:36

 ───────────────────────────────────────
 ■題名 : マクロの実行順番をセットできますか?
 ■名前 : こうたろう
 ■日付 : 03/2/5(水) 12:33
 -------------------------------------------------------------------------
   オートシェープで作ったボタン1とボタン2にマクロを登録していますが、
ボタン1のマクロを実行しないと、ボタン2のマクロを実行できないように
することは可能ですか?
また、一度マクロを実行したら、実行出来ないようにしたいのですが、
方法はあるでしょうか?
よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : ポンタ  ■日付 : 03/2/5(水) 12:39  -------------------------------------------------------------------------
   >ボタン1のマクロを実行しないと、ボタン2のマクロを実行できないように
>することは可能ですか?

いちばん簡単なのは

1.非表示のシートを1枚作っておく
2.マクロ1で、非表示のシートのA1に「実行しました」などの適当な値を入力する
3.A1に「実行しました」という値がはいっていなければ、マクロ2は実行しない。

>また、一度マクロを実行したら、実行出来ないようにしたいのですが、

同じく、「実行しました」の文字が入っているかどうかで
条件分岐すればよいと思います。
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : こうたろう  ■日付 : 03/2/5(水) 13:39  -------------------------------------------------------------------------
   ポンタさん

目からうろこでした。早速、利用させて
もらいます。ありがとうございました。
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/2/5(水) 12:44  -------------------------------------------------------------------------
   こうたろうさん、ポンタさん、こんにちはぁ

あと、変数にどこまで実行したか覚えておく方法もあります。
(シーケンスはほぼ同じ)

ただし、変数のExcelは物覚えが悪い(ふとした拍子に変数を初期化されちゃう)ので、非表示のセルに格納するのも手です。

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : こうたろう  ■日付 : 03/2/5(水) 13:46  -------------------------------------------------------------------------
   JuJu さん

ご回答、ありがとうございました。
マクロ初心者なので更に教えて頂きたいのですが、
変数にどこまで実行したか覚えておく方法というのは
具体的にはどういうふうにマクロを書けばいいのでしょうか?
よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/2/5(水) 18:03  -------------------------------------------------------------------------
   こうたろうさん、こんにちはぁ

>具体的にはどういうふうにマクロを書けばいいのでしょうか?

こんな感じです

Private lngPhase As Long

Sub Macro1()
  ' フェーズ0以外は実行しない
  If lngPhase <> 0 Then Exit Sub

  ' 実際の処理を書いてね

  ' 次のフェーズ
  lngPhase = lngPhase + 1
End Sub

Sub Macro2()
  ' フェーズ1以外は実行しない
  If lngPhase <> 1 Then Exit Sub

  ' 実際の処理を書いてね

  ' 次のフェーズ
  lngPhase = lngPhase + 1
End Sub

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:マクロの実行順番をセットできますか?  ■名前 : こうたろう  ■日付 : 03/2/5(水) 18:36  -------------------------------------------------------------------------
   JuJu さん こんばんはぁ

ありがとうございました。
早速使わせてもらいます。
今後も色々教えて下さいね!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 682