アプリ版:「スタンプのみでお礼する」機能のリリースについて

Sub Macro1()
Dim i As Long
i = 1
For i = 1 To 10

If i = ? Then '偶数ならと言うコード
MsgBox "偶数です"
Else
MsgBox "奇数です"
End If

Next
End Sub

ここまでは自分で作れたのですが、iが奇数か偶数かを判断するコードがわかりません。
ご教授よろしくお願いします。

A 回答 (3件)

やりようは幾らでもありますが、たとえば



sub macro1()
 dim i
 for i=1 to 10
 if i mod 2 = 0 then
  msgbox i & " is even"
 else
  msgbox i & " is odd"
 end if
 next i
end sub


他にも、WorksheetfunctionのOddとかEvenとか使ってみたり、単純に2で割り算した答えがどうかとか。
    • good
    • 0
この回答へのお礼

ご提示いただいたコードでうまく出来ました。
evenとoddがキーワードのようですね。

お礼日時:2012/07/24 19:28

一例です。


1ビット目がオンの場合は奇数、オフの場合は偶数です。

Sub Macro1()
Dim i As Long
For i = 1 To 10
If (i And 1) = 0 Then '偶数ならと言うコード
MsgBox "偶数です"
Else
MsgBox "奇数です"
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

(i And 1) = 0
と言う方法もあるのですね。


こちらの方法でやって行きたいと思います。ありがとうございました。

お礼日時:2012/07/24 19:29

iを2で割って、int関数を掛けて、また2倍した数が、iと同じなら偶数です。


小さくなっていれば奇数です。
    • good
    • 0
この回答へのお礼

「iを2で割って、int関数を掛けて、また2倍した数が、iと同じなら偶数」

この法則を覚えます。ありがとうございました。

お礼日時:2012/07/24 19:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!