• 締切済み

エクセルVBAで mod関数

はじめまして。 エクセルVBA初心者のも社会人です。 mod関数を使用して、 コマンドボタンを押すたびにコマンド1、コマンド2を繰り返すにはどのようにしたら良いのでしょうか? mod関数を使用してあまり0,1で行いたいのですがいまいちわかりません。 どなたかご教授お願いいたします。

みんなの回答

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

質問の意味がわからない。 もっとしっかり、したいことを文章で良いから、明確に書く訓練をすること。その場合例を書く事は大切と思う。 ーーー (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"は実際では、やりたい処理が入る。

urbt86703
質問者

お礼

分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.2

御参考までに マクロは実行するたびに内部変数を初期化します。 (初期化させない方法もありますが、)前回実行の結果を 残して次の実行に使えるようにセルを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

urbt86703
質問者

お礼

分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

何がしたいのかよくわりませんが、参考まで。 Sub macro() Static I As Integer MsgBox "コマンド" & I Mod 2 + 1 & "です" I = I + 1 End Sub

urbt86703
質問者

お礼

分かりにくい質問をして申し訳ありませんでした。 それにもかかわらず回答していただきありがとうございます。

関連するQ&A

  • 再度・・・エクセルVBAで mod関数

    いつもお世話になっております。 先ほどは意味不明な質問をしてしまい申し訳ありませんでした。 再度質問をさせていただきます。 エクセルVBA初心者のも社会人です。 エクセルシート上にコマンドボタンを作成しました。 そのボタンを押す度に二つの命令を交互に繰り返すVBAの記述を考えています。 コマンドボタンを一回押すとセル"A1"の文字の色が白くなり、もう一回押すとセル"A1"の文字の色が青くなるようにしたいです。 つまりコマンドボタンを奇数回押すとセル"A1"の文字の色が白くなり、偶数回押すとセル"A1"の色が青くなるということです。 あえて論理記述にmodを使わなくてもかまいません。 何に使うのかと思う方もいるかもしれませんが、ご教授のほどをよろしくお願いします。

  • Excelのmod関数の戻り値

    ExcelでMod関数を使用している最中に、割り切れる数値でも割る数値と同じ数値が返されます。例えば、「=mod(2.6,1.3)」では、「0」が返りますが「=mod(3.9,1.3)」だと「1.3」が返ってきます。これはどういうことなのか教えてください。

  • MOD関数のMODって??

    エクセルの関数でMOD関数というのがありますが、 この『MOD』ってどういう意味なのですか? 英語の略か何かでしょうか?

  • AccessでExcelでのMOD関数と同じ計算をさせるには

    いつもお世話になっております。 Accessで割り算の余りを計算させたいのですが、 ExcelのMOD関数って、使えませんよね・・・? 何かよい方法がありましたら、教えてください。 クエリでもVBAでも結構です。 よろしくお願いします!!

  • MOD関数について詳しく教えてください

    Excelの関数なんですけど、 MOD(2,-9) はなんで -7なんですか?

  • Excel VBA コメントに関して

    Excel2003を使用しています。 VBAになるのかは定かではないのですが Excelの機能に「コメント」を付ける機能がありますよね セルに対してカーソルを合わすことで表示される黄色い枠のコメントのことをしるす。 これをオートシェイプやコマンドボタン等のオブジェクトに対してカーソルを合わせることに よってこのコマンドがなんなのかのコメントを付けたい場合Excelでできるのでしょうか? もし、できるとしたならばどのようにしたらいいのでしょうか? VBAを使いできるのか、もっと楽な方法があるのか 教えて頂きたいのです。 ご教授願えないでしょうか、宜しくお願いします(人>д<*ペコ謝) ※補足※ コマンドボタンやオートシェイプでテキストを入れてしまうとボタン自体が入れる文字数によって大きくなってしまうのでできるだけ小さいボタンを作り補足事項やヘルプとして使用したい。 コマンドボタンにはVBAプログラムを組むとして、オートシェイプならば、図形にマクロを登録するとして、カーソルを合わした時のみコメントを表示させたいということです。

  • excel97のVBAについて

    始めまして、MV3307と申します。 さて下記内容を、VBAでコードを書くつもりですが、マクロ初心者で記載 方法が分からないので是非ご教授お願いいたします。     記 (1)EXCELの"Sheet1"の数式バーに式が表示してあります。 (2)VBAの"コマンドボタン"をクリックして、数式バーの式をTexBoxに取得する。 以上です、宜しくお願いします。    

  • エクセルVBA ワークシート関数の使用について

    エクセル2003VBA ワークシート関数の使用についての質問です よろしくお願いします。 4桁の数字を、千の位・百の位・十の位・一の位に分解する関数ですが 例えば A1に4桁の数字があり、B1に千の位を表示する場合ですが ワークシート関数の場合 B1=MOD(INT($A$1/1000),10) となりますが VBAにてそのまま使用し Range("B1").value=Application.WorksheetFunction.MOD(INT(Range("A1")/1000),10)とするとエラーになります。 エラーになる原因は、いろいろ調べたら分かったのですが この様に、一発でB1に計算結果を入れたいのですが、どうしたらよろしいでしょうか 現在は、 Range("C1").Formula = "=MOD(INT(A1/1000),10)" Range("B1").value=Range("C1").value 一旦、C1に置き換えてから行っています。 よろしくお願いします

  • excel2000のVBAについて

    excel2000でコマンドボタン(command1)をclickすると VBAの command1_click関数の処理をするという マクロをVBAで作成したいのですが、 (1)excelシート上にコマンドボタンの作成方法 を教えてください

  • Excel VBA ボタンを非アクティブにするには

    Excel VBAにおいて、sheet上に製作したコマンドボタンを表示したり、非表示にしたりするコードはわかるのですが。ツールバーに作成したボタンを表示したり、非表示にしたりするコードがわかりません。ご存知でしたら御教授下さい。よろしくお願いします

専門家に質問してみよう