- 締切済み
エクセルVBAで mod関数
はじめまして。 エクセルVBA初心者のも社会人です。 mod関数を使用して、 コマンドボタンを押すたびにコマンド1、コマンド2を繰り返すにはどのようにしたら良いのでしょうか? mod関数を使用してあまり0,1で行いたいのですがいまいちわかりません。 どなたかご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問の意味がわからない。 もっとしっかり、したいことを文章で良いから、明確に書く訓練をすること。その場合例を書く事は大切と思う。 ーーー (1)mod関数を使用して こんなこと、Googleででも{MOD VBA」で照会すれば http://www.accessclub.jp/vba/help/010.html ほか膨大な記事があるようだ。 http://oshiete1.goo.ne.jp/qa4721681.html のNO1回答を見てください。 MOD演算子が別途あります。 この辺の質問者の理解大丈夫か? ーー >コマンドボタンを押すたびにコマンド1、コマンド2を繰り返すにはどのようにしたら良いのでしょうか この意味はわからない。 コマンドボタンを1つ儲け、押すたびに、2つのルーティンを交互に実行したいのか ーー >mod関数を使用してあまり0,1で行いたいのですがいまいちわかりません この表現の意味こそ、>いまいちわかりません Togle的なことをやりたいのか? 参考 http://www.sophia-it.com/content/%E3%83%88%E3%82%B0%E3%83%AB == コマンドボタンを1つ、シートに張りつける。このクリックイベントに Private Sub CommandButton1_Click() Static x As Boolean If x = True Then MsgBox "A" x = Not x Else MsgBox "B" x = Not x End If End Sub のようなことを、したいのか。 MsgBox "A"は実際では、やりたい処理が入る。
- a987654
- ベストアンサー率26% (112/415)
御参考までに マクロは実行するたびに内部変数を初期化します。 (初期化させない方法もありますが、)前回実行の結果を 残して次の実行に使えるようにセルを1つ使います。 この場合A1又はB1がそれです。 どうしてもMODを使いたいなら例1 Macroをお使いください。 言われているような使い方でしたら例2 Macroの方が解りやすい と思います。 下記処理の後で if i=1 then 処理1 else 処理2 end if となります。 ' 例1 Macro i=Cells(1, 1) Cells(1, 1)= (i + 1) Mod 2 ' ' 例2 Macro ' i=Cells(1, 2) If i = 0 Then Cells(1, 2) = 1 Else Cells(1, 2) = 0 End Sub
お礼
分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。
- kybo
- ベストアンサー率53% (349/647)
何がしたいのかよくわりませんが、参考まで。 Sub macro() Static I As Integer MsgBox "コマンド" & I Mod 2 + 1 & "です" I = I + 1 End Sub
お礼
分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。
お礼
分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。