1. Умножить число на 5
2. Преобразовать в строковую переменную
3. Если последний символ равен нулю, тогда четное
Только зачем эти извращения?
Sub chet()
Dim n As Integer
Dim m As Integer
Dim s As String
n = InputBox("Введите целое число")
m = n * 5
s = Str(m)
If Mid(s, Len(s), 1) = "0" Then
MsgBox (n & " четное")
Else
MsgBox (n & " нечетное")
End If
End Sub
В VBA никто не отменял AND (соотв. проверка последнего бита). Операция быстрее чем деление.
Число AND 1 даст 0, если число четное, 1 если нечетное. Проще и быстрее ИМХО невозможно.
Пример:
Dim i as Integer
i = 11
MsgBox IIf(i And 1, "Нет", "Да")
P.S: Да я знаю про Little и Big Endian, но не припомню, чтобы MSO пакет да ещё и с VBA работал на чем-то отличном от Little Endian.
Evgenyi Kostykov
По сути, это тот же mod,только другими словами, а мне сказали решается это намного проще, без использования мода, уже. 2 недели голову ломаю над задачей этой (