Я хочу написать числа в окне сообщения между 2 числами, которые я выберу. При проверке, являются ли они четными числами, и они должны быть от наименьшего числа к наибольшему. 2 числа должны быть положительными и меньше 100.

Я использую Visual Basic в Excel, но я никогда не использовал его раньше.

Private Sub CommandButton1_Click()

Dim a, b, P, i As Integer

a = InputBox("Write number from 1 to 100 ")
If a <= 0 Or a >= 100 Then
MsgBox "Wrong input"
Exit Sub
End If
b = InputBox("Write number from 1 to 100 ")
If b <= 0 Or b >= 100 Then
MsgBox "Wrong input"
Exit Sub
End If

For i = a To b
If a <> 0 & a <= b Then
a = a + 1
Else
P = a
a = a + 1
Exit For
End If
Next i

MsgBox P


End Sub

1 ответ1

0

Я бы сделал это немного по-другому. Вы, конечно, можете вызвать это с помощью кнопки command_button. Обратите внимание, что я проверяю четные числа (а также я не считаю, что ноль является положительным (или, если на то пошло, отрицательным) числом.

Option Explicit
Sub CreateSequence()

   'Note each variable must have a type declaration,
   '   else they will be of type Variant
    Dim x As Long, y As Long, z As Long
    Dim S As String

x = InputBox("First Number")
y = InputBox("Second Number")

If Not CheckNum(x) Or Not CheckNum(y) Then
        MsgBox "Both numbers must be positive and less than 100"
        Exit Sub
    End If

If x > y Then 'reverse x and y
    z = y
    y = x
    x = z
End If

For z = x To y
    'check if even and add to string if they are
    If z Mod 2 = 0 Then S = S & vbLf & z
Next z

'Remove the leading separator (vbLf)
S = Mid(S, 2)

MsgBox S

End Sub

Function CheckNum(L As Long) As Boolean
    If L > 0 And L < 100 Then
        CheckNum = True
    Else
        CheckNum = False
    End If

End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .